summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-08 23:31:02 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-16 22:40:14 +0100
commit236890b58b8255d8d540b5cbd326228489bd0363 (patch)
tree77dab2e46c8d687c525bd45279ff4110dd9e4b65
parentbc95a2402f9e765113ef38d12d642a3340132049 (diff)
Commentary: explain why pseudomerges are the way round they are
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xdgit2
-rwxr-xr-xgit-debrebase2
2 files changed, 4 insertions, 0 deletions
diff --git a/dgit b/dgit
index 2a581f3..dc42359 100755
--- a/dgit
+++ b/dgit
@@ -3888,6 +3888,8 @@ sub pseudomerge_make_commit ($$$$ $$) {
: !length $overwrite_version ? " --overwrite"
: " --overwrite=".$overwrite_version;
+ # Contributing parent is the first parent - that makes
+ # git rev-list --first-parent DTRT.
my $pmf = dgit_privdir()."/pseudomerge";
open MC, ">", $pmf or die "$pmf $!";
print MC <<END or die $!;
diff --git a/git-debrebase b/git-debrebase
index ad501d8..f6d379a 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -1086,6 +1086,8 @@ sub stitch ($$$$$) {
}
}
fresh_workarea();
+ # We make pseudomerges with L as the contributing parent.
+ # This makes git rev-list --first-parent work properly.
my $new_head = make_commit [ $old_head, $ffq_prev ], [
'Declare fast forward / record previous work',
"[git-debrebase pseudomerge: $prose]",