summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-05-08 06:59:33 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-08 06:59:33 (GMT)
commitad3207e6ff019060e4f634a5455aa0ae248e3a7a (patch)
tree8a5d3a7ffb087a491ecb6d4db68078144e4df495 /builtin
parentdf7abe3fef01d7fa45114e4eb6cabf06f688b260 (diff)
parentbe011bbe001facf71bd636494eb253aa5151d26a (diff)
downloadgit-ad3207e6ff019060e4f634a5455aa0ae248e3a7a.zip
git-ad3207e6ff019060e4f634a5455aa0ae248e3a7a.tar.gz
git-ad3207e6ff019060e4f634a5455aa0ae248e3a7a.tar.bz2
Merge branch 'ma/fast-export-skip-merge-fix'
"git fast-export" had a regression in v2.15.0 era where it skipped some merge commits in certain cases, which has been corrected. * ma/fast-export-skip-merge-fix: fast-export: fix regression skipping some merge-commits
Diffstat (limited to 'builtin')
-rw-r--r--builtin/fast-export.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index a15898d..530df12 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -651,8 +651,11 @@ static void handle_tail(struct object_array *commits, struct rev_info *revs,
struct commit *commit;
while (commits->nr) {
commit = (struct commit *)object_array_pop(commits);
- if (has_unshown_parent(commit))
+ if (has_unshown_parent(commit)) {
+ /* Queue again, to be handled later */
+ add_object_array(&commit->object, NULL, commits);
return;
+ }
handle_commit(commit, revs, paths_of_changed_objects);
}
}