From c884dd9a54fcde71ea125c86e6b6ab92acbbc7cf Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 13 Jan 2006 01:37:09 -0800 Subject: octopus: allow criss-cross and clarify the message when it rejects We rejected multi-base merge situations even though we used the same underlying multi-base git-read-tree as the resolve strategy uses. This was unneeded and did not add much to ensure the merge to be truly trivial, so remove this restriction and be more similar to what resolve does. Also when the merge did not trivially resolve, we rejected without stating that octopus strategy does not handle the situation. Signed-off-by: Junio C Hamano --- git-merge-octopus.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'git-merge-octopus.sh') diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh index 7adffdc79..d1f9f3d2d 100755 --- a/git-merge-octopus.sh +++ b/git-merge-octopus.sh @@ -53,11 +53,8 @@ do common=$(git-merge-base --all $MRC $SHA1) || die "Unable to find common commit with $SHA1" - case "$common" in - ?*"$LF"?*) - die "Not trivially mergeable." - ;; - $SHA1) + case "$LF$common$LF" in + *"$LF$SHA1$LF"*) echo "Already up-to-date with $SHA1" continue ;; @@ -87,8 +84,11 @@ do if test $? -ne 0 then echo "Simple merge did not work, trying automatic merge." - git-merge-index -o git-merge-one-file -a || - exit 2 ; # Automatic merge failed; should not be doing Octopus + git-merge-index -o git-merge-one-file -a || { + echo "Not trivially merged." + echo "Should not be doing an Octopus." + exit 2 + } next=$(git-write-tree 2>/dev/null) fi -- cgit v1.2.1