]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fast-import: Allow "reset" to delete a new branch without error
authorEyvind Bernhardsen <eyvind-git@orakel.ntnu.no>
Sun, 16 Mar 2008 19:49:09 +0000 (20:49 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 16 Mar 2008 21:24:32 +0000 (14:24 -0700)
Creating a branch in fast-import and then resetting it without making
any further commits to it currently causes an error message at the
end of the import.

This error is triggered by cvs2svn's git backend, which uses a
temporary fixup branch when it creates tags, because the fixup branch
is reset after each tag.

This patch prevents the error, allowing "reset" to be used to delete
temporary branches.

Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no>
Acked-by: Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fast-import.c

index 655913ddb27f758ce494fc18551e852c9a6aa9f1..73e5439d97481a0e4dcaa17d025b27ec3fdcf41b 100644 (file)
@@ -1516,6 +1516,8 @@ static int update_branch(struct branch *b)
        struct ref_lock *lock;
        unsigned char old_sha1[20];
 
+       if (is_null_sha1(b->sha1))
+               return 0;
        if (read_ref(b->name, old_sha1))
                hashclr(old_sha1);
        lock = lock_any_ref_for_update(b->name, old_sha1, 0);