From: Jari Aalto <hidden> Date: 2016-06-15 22:47:54
Doing octopus merge results:
$ git merge ...
Trying simple merge with c87c49b1e413e5dc378d7e6b16951761a1e82f6d
Trying simple merge with b650c8c8809ef493ad4128fc941ed6b520c82f28
Trying simple merge with 047f83d6c8a08c4016004780e94257d9e487b7e6
Simple merge did not work, trying automatic merge.
Auto-merging example.jwmrc
Trying simple merge with 16860b016e198acd0814492092e2ad5ea88fb219
Simple merge did not work, trying automatic merge.
Auto-merging example.jwmrc
Trying simple merge with 9a397ff24a381ce49dd093c4f51c06c4c62f3ce7
Simple merge did not work, trying automatic merge.
...
SUGGESTION
Please announce the branch name being merged so that the listing is
easier to follow (possibly only with --verbose, -v option). Add
"Branch: <name>" just before the merge is attempted. somethiglike this
Branch: bug--manpage-fix-hyphen
Trying simple merge with c87c49b1e413e5dc378d7e6b16951761a1e82f6d
Branch: bug--manpage-fix-TH
Trying simple merge with b650c8c8809ef493ad4128fc941ed6b520c82f28
Branch: bug-manpage-change-binary-name
Trying simple merge with 047f83d6c8a08c4016004780e94257d9e487b7e6
Branch: feature--example.jwmrc-change-browser
Simple merge did not work, trying automatic merge.
Auto-merging example.jwmrc
Branch: feature--example.jwmrc-change-clock
Trying simple merge with 16860b016e198acd0814492092e2ad5ea88fb219
Simple merge did not work, trying automatic merge.
Auto-merging example.jwmrc
Branch: feature--example.jwmrc-change-font
Trying simple merge with 9a397ff24a381ce49dd093c4f51c06c4c62f3ce7
Simple merge did not work, trying automatic merge.
...
From: Stephen Boyd <hidden> Date: 2016-06-15 22:47:54
The fast-forward logic is never being triggered because $common and
$MRC are never equivalent. $common is initialized to a commit id by
merge-base and MRC is initialized to HEAD. Fix this by initializing
$MRC to the commit id for HEAD so that its possible for $MRC and
$common to be equal.
Signed-off-by: Stephen Boyd <redacted>
---
Found this while making tests up for part 1 of this series.
git-merge-octopus.sh | 2 +-
t/t7602-merge-octopus-many.sh | 18 ++++++++++++++++++
2 files changed, 19 insertions(+), 1 deletions(-)
@@ -44,7 +44,7 @@ esac# MRC is the current "merge reference commit"# MRT is the current "merge result tree"-MRC=$headMSG=PARENT="-p $head"+MRC=$(gitrev-parse--verify-q$head)MSG=PARENT="-p $head"MRT=$(gitwrite-tree)CNT=1;# counting our headNON_FF_MERGE=0
From: Stephen Boyd <hidden> Date: 2016-06-15 22:47:54
Its not very easy to understand what heads are being merged given
the current output of an octopus merge. Fix this by replacing the
sha1 with the (usually) better description in GITHEAD_<SHA1>.
Suggested-by: Jari Aalto <redacted>
Signed-off-by: Stephen Boyd <redacted>
---
Maybe this will work? At least it will replace the sha1 with
whatever is given on the command line.
git-merge-octopus.sh | 9 +++++----
t/t7602-merge-octopus-many.sh | 33 +++++++++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 4 deletions(-)
@@ -61,12 +61,13 @@ doexit2esac+pretty_name="$(evalecho\$GITHEAD_$SHA1)"common=$(gitmerge-base--all$SHA1$MRC)||-die"Unable to find common commit with $SHA1"+die"Unable to find common commit with $pretty_name"case"$LF$common$LF"in*"$LF$SHA1$LF"*)-echo"Already up-to-date with $SHA1"+echo"Already up-to-date with $pretty_name"continue;;esac
@@ -81,7 +82,7 @@ do# tree as the intermediate result of the merge.# We still need to count this as part of the parent set.-echo"Fast-forwarding to: $SHA1"+echo"Fast-forwarding to: $pretty_name"gitread-tree-u-m$head$SHA1||exitMRC=$SHA1MRT=$(gitwrite-tree)continue
@@ -89,7 +90,7 @@ doNON_FF_MERGE=1-echo"Trying simple merge with $SHA1"+echo"Trying simple merge with $pretty_name"gitread-tree-u-m--aggressive$common$MRT$SHA1||exit2next=$(gitwrite-tree2>/dev/null)iftest$?-ne0
From: Stephen Boyd <hidden> Date: 2016-06-15 22:47:54
MSG, PARENT, and CNT are never used, just assigned to.
Signed-off-by: Stephen Boyd <redacted>
---
I don't know if this is wanted. Looks like maybe they're used
as simple debug aides?
git-merge-octopus.sh | 6 +-----
1 files changed, 1 insertions(+), 5 deletions(-)
@@ -44,9 +44,8 @@ esac# MRC is the current "merge reference commit"# MRT is the current "merge result tree"-MRC=$(gitrev-parse--verify-q$head)MSG=PARENT="-p $head"+MRC=$(gitrev-parse--verify-q$head)MRT=$(gitwrite-tree)-CNT=1;# counting our headNON_FF_MERGE=0OCTOPUS_FAILURE=0forSHA1in$remotes
@@ -72,9 +71,6 @@ do;;esac-CNT=`expr$CNT+1`-PARENT="$PARENT -p $SHA1"-iftest"$common,$NON_FF_MERGE"="$MRC,0"then# The first head being merged was a fast-forward.
From: Alex Riesen <hidden> Date: 2016-06-15 22:47:54
On Fri, Dec 11, 2009 at 19:55, Jari Aalto [off-list ref] wrote:
Please announce the branch name being merged so that the listing is
easier to follow (possibly only with --verbose, -v option). Add
"Branch: <name>" just before the merge is attempted. somethiglike this
Branch: bug--manpage-fix-hyphen
Trying simple merge with c87c49b1e413e5dc378d7e6b16951761a1e82f6d
It is not exactly "easier" to follow in your case. It is more
text and there is no immediately visible cue that the two
lines are related. You have to give the observer this information.
Put reference name and SHA-1 on the same line?