* git-svnimport.perl bug when copy source path has a revision
@ 2008-10-15 19:11 Karl Chen
2008-10-16 6:43 ` Pete Harlan
0 siblings, 1 reply; 3+ messages in thread
From: Karl Chen @ 2008-10-15 19:11 UTC (permalink / raw)
To: Git mailing list
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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git-svnimport.perl bug when copy source path has a revision
2008-10-15 19:11 git-svnimport.perl bug when copy source path has a revision Karl Chen
@ 2008-10-16 6:43 ` Pete Harlan
2008-10-16 18:36 ` Karl Chen
0 siblings, 1 reply; 3+ messages in thread
From: Pete Harlan @ 2008-10-16 6:43 UTC (permalink / raw)
To: Karl Chen; +Cc: Git mailing list
Karl Chen wrote:
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git-svnimport.perl bug when copy source path has a revision
2008-10-16 6:43 ` Pete Harlan
@ 2008-10-16 18:36 ` Karl Chen
0 siblings, 0 replies; 3+ messages in thread
From: Karl Chen @ 2008-10-16 18:36 UTC (permalink / raw)
To: Pete Harlan; +Cc: Git mailing list
>>>>> On 2008-10-15 23:43 PDT, Pete Harlan writes:
Pete> git svn init -T trunk -t tags $R git svn fetch git log
Pete> tags/mytag
Thanks for the pointer. I do know about git-svn and used it
to convert most of my repositories, but one particular repository
isn't converting with git-svn - it runs for hours before I cancel
it, whereas git-svnimport completes in minutes.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-10-16 18:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-15 19:11 git-svnimport.perl bug when copy source path has a revision Karl Chen
2008-10-16 6:43 ` Pete Harlan
2008-10-16 18:36 ` Karl Chen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).