git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svnimport.perl bug when copy source path has a revision

From
PHPete Harlan <pgit@pcharlan.com>
Date
Oct 16, 2008, 06:43 UTC
Message-ID
<48F6E29F.1050807@pcharlan.com>
In-Reply-To
<quack.20081015T1211.lth8wsp65dk@roar.cs.berkeley.edu>
Karl Chen wrote:
Show 32 quoted lines
> This looks like a bug in git-svnimport.perl.  If a tag (or
> branch?) is created retroactively, git-svnimport doesn't respect
> the copy source revision.
> 
> To reproduce:
> 
> svnadmin create somerepo;  export R=file://$PWD/somerepo
> 
> svn co $R wc && cd wc
> 
> mkdir trunk tags && svn add trunk tags && svn commit -m ""  # rev 1
> 
> cd trunk
> echo a > a
> echo b > b
> echo c > c
> 
> svn add a && svn commit -m "commit a"   # rev 2
> svn add b && svn commit -m "commit b"   # rev 3
> # Copy from revision 2 instead of HEAD:
> svn cp -m "tag rev 2" $R/trunk@2 $R/tags/mytag  # rev 4
> svn add c && svn commit -m "commit c"   # rev 5
> 
> svn ls $R/tags/mytag 
> # Lists only 'a'
> 
> mkdir /tmp/gitrepo && cd /tmp/gitrepo
> perl /usr/share/doc/git-core/contrib/examples/git-svnimport.perl $R
> 
> git log mytag
> # 'mytag' includes "commit b"; it was created as if it were tagged
> # at r3; the "@2" was ignored.
If you replace this:
> perl /usr/share/doc/git-core/contrib/examples/git-svnimport.perl $R
with:

git svn init -T trunk -t tags $R git svn fetch git log tags/mytag

you get a log that doesn't include "commit b". (And it does include the tag commit, as svn does.) tags/mytag is a branch, visibile via "git branch -r", instead of a tag. I'm not fluent enough in git svn to know if this is a bug or a feature.

According to git logs (8cb070a4, fee9832a), git-svnimport.perl hasn't been maintained in a while, presumably because git svn provides a superset of its functionality.

HTH,
--Pete
Previous: Karl ChenNext: Karl Chen
Message 2 of 3 in “git-svnimport.perl bug when copy source path has a revision”
  1. Karl ChenOct 15, 2008
  2. Pete HarlanOct 16, 2008
  3. Karl ChenOct 16, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.