diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2008-12-20 01:00:27 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-12-19 19:11:27 -0800 |
commit | 4e46a8d62c551e11e21bd04e059e9ae3cdcfd029 (patch) | |
tree | 8e5fc4e903784cf071b7539efd73304aba2c0f3e /t | |
parent | 672752470c85c8dc3dd9b49f72063a99f8475b4a (diff) | |
download | git-4e46a8d62c551e11e21bd04e059e9ae3cdcfd029.tar.gz |
fast-export: deal with tag objects that do not have a tagger
When no tagger was found (old Git produced tags like this),
no "tagger" line is printed (but this is incompatible with the current
git fast-import).
Alternatively, you can pass the option --fake-missing-tagger, forcing
fast-export to fake a tagger
Unspecified Tagger <no-tagger>
with a tag date of the beginning of (Unix) time in the case of a missing
tagger, so that fast-import is still able to import the result.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t9301-fast-export.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/t/t9301-fast-export.sh b/t/t9301-fast-export.sh index 638c858dc7..3a6509a1c8 100755 --- a/t/t9301-fast-export.sh +++ b/t/t9301-fast-export.sh @@ -239,4 +239,24 @@ test_expect_success 'fast-export | fast-import when master is tagged' ' ' +cat > tag-content << EOF +object $(git rev-parse HEAD) +type commit +tag rosten +EOF + +test_expect_success 'cope with tagger-less tags' ' + + TAG=$(git hash-object -t tag -w tag-content) && + git update-ref refs/tags/sonnenschein $TAG && + git fast-export -C -C --signed-tags=strip --all > output && + test $(grep -c "^tag " output) = 4 && + ! grep "Unspecified Tagger" output && + git fast-export -C -C --signed-tags=strip --all \ + --fake-missing-tagger > output && + test $(grep -c "^tag " output) = 4 && + grep "Unspecified Tagger" output + +' + test_done |