diff options
author | Dmitry Ivankov <divanorama@gmail.com> | 2011-09-23 01:47:04 +0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-09-22 13:30:57 -0700 |
commit | 2c9c8ee2de3fc6af5a28cbeec15edcf9fe43537c (patch) | |
tree | f71091b0ca54833cb26d70187ad9fbbf4463ddef /t/t9300-fast-import.sh | |
parent | Merge branch 'di/fast-import-tagging' (diff) | |
download | tgif-2c9c8ee2de3fc6af5a28cbeec15edcf9fe43537c.tar.xz |
fast-import: don't allow to tag empty branch
'reset' command makes fast-import start a branch from scratch. It's name
is kept in lookup table but it's sha1 is null_sha1 (special value).
'tag' command can be used to tag a branch by it's name. lookup_branch()
is used it that case and it doesn't check for null_sha1. So fast-import
writes a tag for null_sha1 object instead of giving a error.
Add a check to deny tagging an empty branch and add a corresponding test.
Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9300-fast-import.sh')
-rwxr-xr-x | t/t9300-fast-import.sh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 1a6c06631c..0b97d7aab9 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -820,6 +820,18 @@ test_expect_success \ 'test 1 = `git rev-list J | wc -l` && test 0 = `git ls-tree J | wc -l`' +cat >input <<INPUT_END +reset refs/heads/J2 + +tag wrong_tag +from refs/heads/J2 +data <<EOF +Tag branch that was reset. +EOF +INPUT_END +test_expect_success \ + 'J: tag must fail on empty branch' \ + 'test_must_fail git fast-import <input' ### ### series K ### |