[PATCH] More descriptive messages for conflict cases in merges

The merge strategies can give more descriptive error messages for
conflict cases if they are given the actual branch names instead of
the SHA1s.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Fredrik Kuivinen 2005-09-25 16:49:02 +02:00 committed by Junio C Hamano
parent 0bed18998a
commit 8cc01e5019

View File

@ -71,6 +71,7 @@ test "$#" -le 2 && usage ;# we need at least two heads.
merge_msg="$1" merge_msg="$1"
shift shift
head_arg="$1"
head=$(git-rev-parse --verify "$1"^0) || usage head=$(git-rev-parse --verify "$1"^0) || usage
shift shift
@ -86,7 +87,7 @@ echo "$head" >"$GIT_DIR/ORIG_HEAD"
case "$#,$common" in case "$#,$common" in
*,'') *,'')
die "Unable to find common commit between $head and $*" die "Unable to find common commit between $head_arg and $*"
;; ;;
1,"$1") 1,"$1")
# If head can reach all the merge then we are up to date. # If head can reach all the merge then we are up to date.
@ -147,7 +148,7 @@ do
} }
echo "Trying merge strategy $strategy..." echo "Trying merge strategy $strategy..."
wt_strategy=$strategy wt_strategy=$strategy
git-merge-$strategy $common -- $head "$@" || { git-merge-$strategy $common -- $head_arg "$@" || {
# The backend exits with 1 when conflicts are left to be resolved, # The backend exits with 1 when conflicts are left to be resolved,
# with 2 when it does not handle the given merge at all. # with 2 when it does not handle the given merge at all.
@ -202,7 +203,7 @@ case "$best_strategy" in
echo "Rewinding the tree to pristine..." echo "Rewinding the tree to pristine..."
git reset --hard $head git reset --hard $head
echo "Using the $best_strategy to prepare resolving by hand." echo "Using the $best_strategy to prepare resolving by hand."
git-merge-$best_strategy $common -- $head "$@" git-merge-$best_strategy $common -- $head_arg "$@"
;; ;;
esac esac
for remote for remote