threads / discuss / 23529

SVN to Git: trunk moved during repository history

Subject: SVN to Git: trunk moved during repository history

## tl;dr

5 messages between Apr 19, 2010 and Apr 27, 2010.

replies: 4people: 3as markdown or json

Bradley Wagner· Apr 19, 2010, 21:18 UTC · lore

I'm trying to port an SVN project to Git. We have gone through multiple layouts for our SVN repository. It started off with just a mainline branch in the root folder. Then we went to the standard layout (branches, trunk, tags).

The problem is that when I do a "git svn clone --stdlayout" of the repository, it's not picking up any of the revisions from when the trunk previously resided in the root directory. Is there any way to specify that the trunk had multiple paths the way you can specify multiple branch folders with -b flag? What would be the best course of action for reporting an SVN repo who's layout had changed during its history?

Thanks, Bradley

Stephen Kelly· Apr 20, 2010, 00:07 UTC · re: Bradley Wagner · lore

Re: SVN to Git: trunk moved during repository history

Bradley Wagner wrote:
Show 12 quoted lines
> I'm trying to port an SVN project to Git. We have gone through
> multiple layouts for our SVN repository. It started off with just a
> mainline branch in the root folder. Then we went to the standard
> layout (branches, trunk, tags).
> 
> The problem is that when I do a "git svn clone --stdlayout" of the
> repository, it's not picking up any of the revisions from when the
> trunk previously resided in the root directory.
> Is there any way to specify that the trunk had multiple paths the way
> you can specify multiple branch folders with -b flag? What would be
> the best course of action for reporting an SVN repo who's layout had
> changed during its history?
One option is svn2git
http://gitorious.org/svn2git/svn2git
http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git
examples:
http://gitorious.org/svn2git/kde-ruleset
> 
> Thanks,
> Bradley
Bradley Wagner· Apr 21, 2010, 14:03 UTC · re: Stephen Kelly · lore

Re: SVN to Git: trunk moved during repository history

Hmm, I'm not seeing where in the documentation you would instruct it to look in multiple locations in the SVN repository's history for the trunk branch.

On Mon, Apr 19, 2010 at 8:07 PM, Stephen Kelly <steveire@gmail.com> wrote:
Show 35 quoted lines
> Bradley Wagner wrote:
>
>> I'm trying to port an SVN project to Git. We have gone through
>> multiple layouts for our SVN repository. It started off with just a
>> mainline branch in the root folder. Then we went to the standard
>> layout (branches, trunk, tags).
>>
>> The problem is that when I do a "git svn clone --stdlayout" of the
>> repository, it's not picking up any of the revisions from when the
>> trunk previously resided in the root directory.
>> Is there any way to specify that the trunk had multiple paths the way
>> you can specify multiple branch folders with -b flag? What would be
>> the best course of action for reporting an SVN repo who's layout had
>> changed during its history?
>
> One option is svn2git
>
> http://gitorious.org/svn2git/svn2git
>
> http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git
>
> examples:
>
> http://gitorious.org/svn2git/kde-ruleset
>
>>
>> Thanks,
>> Bradley
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Ulrich Spörlein· Apr 23, 2010, 15:12 UTC · re: Bradley Wagner · lore

Re: SVN to Git: trunk moved during repository history

On Wed, 21.04.2010 at 10:03:16 -0400, Bradley Wagner wrote:
> Hmm, I'm not seeing where in the documentation you would instruct it
> to look in multiple locations in the SVN repository's history for the
> trunk branch.

I did this for the FreeBSD repo, where one or two branches were moved to some other level. I can't get to the rule file right now, but you need to figure out the revisions when the layout changed.

Then use something like this (from the top of my head, most likely buggy)

match /
  min-revision 1
  max-revision 100
  branch master
end
match /trunk
  min-revision 101
  branch master
end

... you get the drift. Ask again if something is unclear, next time I get to my rules files I can give you a better example.

Bye, Uli

Bradley Wagner· Apr 27, 2010, 19:55 UTC · re: Bradley Wagner · lore

Re: SVN to Git: trunk moved during repository history

So, I tried to clone the repository with this command:
git svn clone -T trunk -t tags/6.x -b branches/6.x <svn_url>/<proj_name>

After it completed, I went it to the .git/config file and added a few more branches/tags from other locations:

[svn-remote "svn"]
        url = https://<svn_url>/<proj_name>
        fetch = <proj_name>/trunk:refs/remotes/trunk
        branches = <proj_name>/branches/{6.x,5.x}/*:refs/remotes/*
        branches = <proj_name>/branches/*:refs/remotes/*
        tags = <proj_name>/tags/{3.7.x,4.x,5.x,6.x,old-releases}/*:refs/remotes/tags/*

Is my syntax even correct? Can I have more than one "branches" property? How do I tell git-svn to re-sync with the latest branch/tag locations?

Thanks!

On Mon, Apr 19, 2010 at 5:18 PM, Bradley Wagner <bradley.wagner@hannonhill.com> wrote:

Show 16 quoted lines
> I'm trying to port an SVN project to Git. We have gone through
> multiple layouts for our SVN repository. It started off with just a
> mainline branch in the root folder. Then we went to the standard
> layout (branches, trunk, tags).
>
> The problem is that when I do a "git svn clone --stdlayout" of the
> repository, it's not picking up any of the revisions from when the
> trunk previously resided in the root directory.
> Is there any way to specify that the trunk had multiple paths the way
> you can specify multiple branch folders with -b flag? What would be
> the best course of action for reporting an SVN repo who's layout had
> changed during its history?
>
> Thanks,
> Bradley
>

← back to recent threads