Re: Git repo layout for own WO projects
Re: Git repo layout for own WO projects
- Subject: Re: Git repo layout for own WO projects
- From: Kieran Kelleher <email@hidden>
- Date: Thu, 19 Jul 2012 17:30:17 -0400
On Jul 19, 2012, at 5:02 PM, Maik Musall wrote:
>
> Am 19.07.2012 um 21:54 schrieb Kieran Kelleher:
>
>> On Jul 19, 2012, at 3:00 PM, Maik Musall wrote:
>>
>>> I'm about to migrate a large project which is currently managed in subversion to git. Git experience is still limited. Besides wonder frameworks, the project consists of
>>>
>>> - one application
>>> - several frameworks that are more or less specific to the application
>>> - several more generic frameworks that we use throughout the company in a number of apps.
>>>
>>> In subversion, all those are separate projects but on the same svn server. This enables commits spanning the app itself and all affected frameworks, for example to encapsulate one change that changes the API of a framework and adapts the app to that API change at the same time.
>>>
>>> What would the git freaks among you recommend as a repo layout for that?
>>
>> One svn server or one svn repo right now?
>
> One server, an extensive folder structore on that, where eventually some subfolder represents a project. In that project folder again subfolders for the app and each framework. In another folder somewhere in the structure there are subfolders for the generic frameworks.
Sounds a lot like the manner in which Project Wonder is arranged ... a hierarchy of nicely organized files, folders and subfolders.
> As I understand subversion, there's no hard distinction between folders and repos, as a repo is also just a folder that happens to contain the project files.
AFAIK, a subversion repo is a repo in the server alright ..... it just allows the convenience of checking out subfolders as working copies. However the the history of the entire subversion repo applies to the entire folder hierarchy from the root of the the svn repo to all subfolders. One repo - one revision history. Subfolder checkouts allowed.
>
>> IMHO, just do a one-to-one svn repo conversion and convert the svn history to git history (plenty of articles showing how to do that, and it should be straightforward if your svn layout was always the standard trunk/branches/tags.
>
> Unfortunately, there's a mixture between stuff using the standard trunk/tags/branches layout and stuff that just sits directly in it's folder. Sigh...
Yeah, conversion will be a little messy then, but you can try the conversion to a git repo, it won't hurt your svn repo any. And playing with conversion on a svn-mirror will be much faster since AFAIK, git conversion will need a few passes through the svn revision history. Some people have had success using some GUI tools to convert also (SourceTree I think?).
>
>>> I don't think putting it all into one giant repo isn't an option because that would require all other projects (which are dozens) we have to be in it as well. That would not only be an unmanageable mess, but we couldn't pull off git migration for everything in one step anyway.
>>
>> As mentioned above, convert each svn repo to a git repo. You can even just do that now yourself on your own machine to experiment and see what it looks like.
>>
>> One popular process is to
>> (1) use svn-mirror to make a local svn mirror (clone?) of the svn repo and then
>> (2) do a git-svn conversion clone on that (with a constructed authors file) and then
>> (3) make a final svn-meta-data-free clone of that intermediate one.
>>
>> If all goes smoothly, you can write a script to update and maintain all three intermediates
>>
>> live-svn --> svn-mirrror --> git-svn-clone --> pure-git-clone
>>
>> Lots of articles on this if you do a google search.
>
> Yes, already reading through all sorts of articles. My question aims for actual experience with typical WO projects.
>
> Good thing is, I can clone and look at it at will locally, so I'm now experimenting with different layouts. The most probably outcome so far looks like one repo for the app and the app-specific frameworks, and separate repos for each generic framework. But I have no idea yet how to manage the dependencies between those.
>
> Thanks, Kieran!
>
> Maik
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden