Actually allow TAG_FIXUP branches in fast-import
commitea08a6fd194991f9d800e4cac5ae55fdb02dd235
authorShawn O. Pearce <spearce@spearce.org>
Fri, 3 Aug 2007 03:37:21 +0000 (2 23:37 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Sun, 19 Aug 2007 07:38:34 +0000 (19 03:38 -0400)
treebc482394c683c355957807fbb40074a7bb1a2b12
parentc905e09006838c209be842dbe740943b2ad2d25b
Actually allow TAG_FIXUP branches in fast-import

Michael Haggerty <mhagger@alum.mit.edu> noticed while debugging a
Git backend for cvs2svn that fast-import was barfing when he tried
to use "TAG_FIXUP" as a branch name for temporary work needed to
cleanup the tree prior to creating an annotated tag object.

The reason we were rejecting the branch name was check_ref_format()
returns -2 when there are less than 2 '/' characters in the input
name.  TAG_FIXUP has 0 '/' characters, but is technically just as
valid of a ref as HEAD and MERGE_HEAD, so we really should permit it
(and any other similar looking name) during import.

New test cases have been added to make sure we still detect very
wrong branch names (e.g. containing [ or starting with .) and yet
still permit reasonable names (e.g. TAG_FIXUP).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
fast-import.c
t/t9300-fast-import.sh