Working with branches after 4.6

Juha kautto.juha at kolumbus.fi
Fri Feb 20 09:01:08 CET 2009



Brian J. Tarricone kirjoitti:
> Nick Schermer wrote:
>> Developers (!),
>>
>> Jannis had this nice point in his fosdem presentation that we should
>> work more in branches, esp. for large (project wide) changes so
>> trunk/master is not 'broken' for a long time and thus allowing us to
>> do releases more often/easy because the main branch is always in good
>> shape (the idea is good *wink*).
>
> I dunno about you, but I never leave my trunk in a broken state ^_~.
>
>> An important aspect of this is a vcs that does branching and merging
>> nicely and I think we more or less agree git is the way to go.
>
> Yeah pretty much.  I was going to wait until 4.6.0 before bringing all 
> this up, but it seems some people are impatient, so... :-P
>
>> I also heard rumours Brian wants a svn clone running along side? Why?
>
> This is just a nice-to-have for people who want to check out the 
> source tree using tools they're familiar with.  It would be read-only 
> and hopefully require close to zero maintenance.  Git is not exactly 
> user-friendly and has a rather steep learning curve.
>
>> What to do with the goodies and archive?
>
> If we're going to migrate to a new VCS, we're doing everything. 
> Maintaining the infrastructure for 2 different VCSs isn't something 
> I'm interested in doing.
>
>> What are the permission problems/limitations?
>
> Git doesn't do fine-grained inside-repo permissions by default.  We'd 
> need to write (or find and modify) pre-commit hooks to (for example) 
> allow translator access to the po dirs but nothing else.  This isn't 
> super hard, I don't think, but it's something we'd need to do.  Bonus 
> points if it can use our existing svnperms.conf file for all the 
> permissions regexes.  If not, someone needs to redo all that stuff.
>
>> Anything else?
>
> A lot.
>
> 1.  I18n scripts need to be rewritten to use git instead of svn.
> 2.  Need to set up new post-commit hooks for commit mails.
> 3.  Need to set up new post-commit hooks for CIA.
> 4.  Need to add the repos to cgit.
> 5.  Need to migrate all the current git.xfce.org stuff to the new 
> infrastructure (we're not going to use the same thing for xfce).
> 6.  Need to do a bunch of test svn->git migrations and verify the 
> integrity of data and history.  This includes branches and tags.
> 7.  Need to migrate svn:ignore to .gitignore.
> 8.  Need to rewrite snapshot generation script.
> 9.  Need to redo any buildbot integration botsie has started.
> 10.  Need to redo i18n statistics gathering script.
>
> And there's a lot more... this is just off the top of my head.
>
> There's also an automation/management issue.  Right now, for example, 
> creating a new goodies repo is as simple as:
>
> svn mkdir https://svn.xfce.org/svn/goodies/$repo/{trunk,branches/tags}
>
> ... and then adding the repo to /modules so it gets picked up by the 
> i18n stuff.  For git, you'd need to:
>
> 1.  Create a new repo on the server somehow.  Naively, this needs to 
> be done by someone with root access on the server without some sort of 
> web frontend.
> 2.  Copy in the pre-/post-commit hooks.
> 3.  Set up permissions in the config file.
> 4.  Add the repo to cgit's config.
> 5.  Export the repo via git-daemon.
> 6.  Add the repo to be checked out via whatever i18n script we use.
> 7.  ?? I'm sure there's more I'm forgetting.
>
> Right now, I'm mainly watching how GNOME is doing this (see 
> http://live.gnome.org/GitMigration).  Since there are very few of us, 
> and many of them, I was hoping to leverage a lot of their work.  So it 
> would probably be a few months before we got this done.
>
>     -brian
Seems like GIT is giving a lot of extra work. Does it give some real 
benefits also?
Why would we drop a pretty well working svn if it means a lot of work and no
real goodies? You probably have heard: "do not fix it, if it is not broken."

Juha



More information about the Xfce4-dev mailing list