]> git.ipfire.org Git - thirdparty/git.git/commit - fast-import.c
fast-import: fix erroneous handling of get-mark with empty orphan commits
authorElijah Newren <newren@gmail.com>
Wed, 20 Feb 2019 22:58:46 +0000 (14:58 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Apr 2019 02:59:09 +0000 (11:59 +0900)
commitcf7b857a77bda6a9a93e2cde2f6ae1764e7a2517
tree7e8b94a8f8789f27c9c004d696a604b5b8a714f0
parent7ffde293f2e7f0ae455800b138416da601254436
fast-import: fix erroneous handling of get-mark with empty orphan commits

When get-mark was introduced in commit 28c7b1f7b7b7 ("fast-import: add a
get-mark command", 2015-07-01), it followed the precedent of the
cat-blob command to be allowed on any line other than in the middle of a
data directive; see commit 777f80d7429b ("fast-import: Allow cat-blob
requests at arbitrary points in stream", 2010-11-28).  It was useful to
allow cat-blob directives in the middle of a commit to get more data
that would be used in writing the current commit object.  get-mark is
not similarly useful since fast-import can already use either object id
or mark.  Further, trying to allow this command anywhere caused parsing
bugs.  Fix the parsing problems by only allowing get-mark commands to
appear when other commands have completed.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-fast-import.txt
fast-import.c
t/t9300-fast-import.sh