summaryrefslogtreecommitdiff
path: root/t/t4013/diff.diff-tree_--pretty=oneline_--patch-with-stat_initial
diff options
context:
space:
mode:
authorLibravatar Elijah Newren <newren@gmail.com>2018-11-15 23:59:52 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-11-17 18:43:51 +0900
commitcd13762d8f837b6339b7d9f3090c0de44d3e01aa (patch)
treef1e0061321aa3f8fe3bba58c59769547a57bfc0e /t/t4013/diff.diff-tree_--pretty=oneline_--patch-with-stat_initial
parentfast-export: move commit rewriting logic into a function for reuse (diff)
downloadtgif-cd13762d8f837b6339b7d9f3090c0de44d3e01aa.tar.xz
fast-export: when using paths, avoid corrupt stream with non-existent mark
If file paths are specified to fast-export and multiple refs point to a commit that does not touch any of the relevant file paths, then fast-export can hit problems. fast-export has a list of additional refs that it needs to explicitly set after exporting all blobs and commits, and when it tries to get_object_mark() on the relevant commit, it can get a mark of 0, i.e. "not found", because the commit in question did not touch the relevant paths and thus was not exported. Trying to import a stream with a mark corresponding to an unexported object will cause fast-import to crash. Avoid this problem by taking the commit the ref points to and finding an ancestor of it that was exported, and make the ref point to that commit instead. Signed-off-by: Elijah Newren <newren@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff-tree_--pretty=oneline_--patch-with-stat_initial')
0 files changed, 0 insertions, 0 deletions