# [PATCH] git-cvsimport: really convert underscores in branch names to dots with -u

2 messages from 2007-11-03 to 2008-03-11. Participants: Gerrit Pape, Andreas Fuchs.
Thread: https://gitlist.dev/t/10616

## Gerrit Pape, 2007-11-03 11:55

Subject: [PATCH] git-cvsimport: really convert underscores in branch names to dots with -u
Message-ID: <20071103115502.14532.qmail@d121e5a37ec172.315fe32.mid.smarden.org>
URL: https://gitlist.dev/e/20071103115502.14532.qmail%40d121e5a37ec172.315fe32.mid.smarden.org

```
The documentation states for the -u option that underscores in tag and
branch names are converted to dots, but this was actually implemented
for the tag names only.

Kurt Roeckx reported this through
 http://bugs.debian.org/446495

Signed-off-by: Gerrit Pape <pape@smarden.org>
---
 git-cvsimport.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 2954fb8..e4bc2b5 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -818,6 +818,7 @@ while (<CVS>) {
 		$state = 4;
 	} elsif ($state == 4 and s/^Branch:\s+//) {
 		s/\s+$//;
+		tr/_/\./ if ( $opt_u );
 		s/[\/]/$opt_s/g;
 		$branch = $_;
 		$state = 5;
-- 
1.5.3.5

```

## Andreas Fuchs, 2008-03-11 15:56

Subject: git-cvsimport: creating bogus branches (was: really convert underscores in branch names to dots with -u)
Message-ID: <loom.20080311T153924-977@post.gmane.org>
URL: https://gitlist.dev/e/loom.20080311T153924-977%40post.gmane.org
In-Reply-To: <20071103115502.14532.qmail@d121e5a37ec172.315fe32.mid.smarden.org>

```
Gerrit Pape <pape <at> smarden.org> writes:
> The documentation states for the -u option that underscores in tag and
> branch names are converted to dots, but this was actually implemented
> for the tag names only.

This causes a lot of problems for me with a tree that was using -u before this
change: Now there are two git branches for each CVS branch: one with and one 
without underscores. 

That's not so bad, but git-cvsimport seems to mess up the ancestry graph
by using the current master's HEAD revision as the parent of each of these new
branches. (I haven't debugged this completely, but what I see strongly 
suggests that this is what's happening.)

If you want to take a look at the mangled branches, its gitweb is at 
<http://git.boinkor.net/gitweb/sbcl-beta.git>. See for an example:
<http://git.boinkor.net/gitweb/sbcl-beta.git?a=shortlog;h=refs/heads/alpha64.2.branch>.
That's commit from 2003 having a parent commit from 2008. Right after that 
parent commit in 2008 was when I started using the new git-cvsimport.

Note that I'm not strongly to rewriting underscores in branch names as 
documented, but the way things are now, I'd have preferred the transition 
happening in a backwards-compatible way (-:

Cheers,
Andreas.

```
