[Scummvm-devel] Switching ScummVM repository to Git

Bertrand Augereau bertrand_augereau at yahoo.fr
Tue Jun 15 21:34:23 CEST 2010


Hello guys,

One thing that is very important to specify in such a workflow is the short-lived-branches-merges policy.
For instance:
"You have to rebase your work on the trunk (git pull --rebase) so that the history stays the more linear possible"
or you can allow small merges as an alternative (git pull) (I prefer the linear version)

Forced-updates are also something to consider (for instance explicitly forbid those :) )

Cheers,
a git-lover


--- En date de : Mar 15.6.10, Eugene Sandulenko <sev at scummvm.org> a écrit :

> De: Eugene Sandulenko <sev at scummvm.org>
> Objet: Re: [Scummvm-devel] Switching ScummVM repository to Git
> À: sev at scummvm.org
> Cc: "ScummVM devel" <scummvm-devel at lists.sourceforge.net>
> Date: Mardi 15 juin 2010, 21h18
> Hi guys again,
> 
> Now I am back and I got some results.
> 
> I love git more and more. I could shuffle my commits,
> review the commit
> log messages, split some of them, perform last minute
> changes, and all
> that in a convenient way. Not to mention how FAST
> everything was.
> 
> To reproduce the results I got, do following:
> 
>   mkdir ~/scummvm-svn
>   rsync -av scummvm.svn.sourceforge.net::svn/scummvm/*
> ~/scummvm-svn
> 
> This will fetch whole ScummVM SVN repository. Please be
> nice to sf.net,
> as it is 800MB download.
> 
>   cd ~
>   git clone git://gitorious.org/svn2git/svn2git.git
>   cd svn2git
>   qmake
>   make
> 
> This will create svn2git tool which I used (there are at
> least 3 of
> them, but other 2 are dumber). It requires QT4. Sorry. I
> would write it
> in Perl or Pythong and forget about 200MB downloads.
> 
>   ./svn-all-fast-export --identity-map
> authors.log.sort --rules \
>     scummvm.rules --add-metadata ~/scummvm-svn
> 
> scummvm.rules and authors.log.sort files are attached.
> 
> This will take awhile (50 minutes on Ubuntu running on
> Windows 7 laptop
> with 2GHz Core Duo processor.
> 
> As a result you will get 4 repositories:
> 
>   legacy -- Contains all things considered to be
> redundant, that is
>     docs, engine-data, residual, scummex, vendor.
> Master is engine-data
>     root
> 
>   scummvm -- All branches, tags. Master is trunk.
> Additionally
>     vendor/fonts contents put there as fonts
> branch, since we need to
>     move it to gui/ soon
> 
>   tools -- Tools with all branches and tags
> 
>   websites -- all websites as branches. master is
> web/trunk
> 
> You may see full list of branches in attached git-branches
> file.
> 
> No git tags will be there, those will be manually added
> after the
> import.
> 
> After `git gc --aggressive` scummvm repository is under
> 70MB (yay),
> websites is 130MB (graphics), and total whole thing is
> 220MB. Not bad,
> not bad.
> 
> 
> So now, let's discuss how we can proceed with the move.
> 
> I am ready to perform the switch anytime. Current SVN
> repository will
> be put into read-only mode and will stay for reference.
> 
> 
> As you know, Git gives /much/ more flexibility to
> development
> strategies. Most natural one which will differ less from
> our current
> approach (and thus will have lesser learning curve) is
> described at
> 'Long-Running Branches' subheading in Pro-Git book
> (http://progit.org/book/ch3-4.html). This will basically
> represent what
> we have now with trunk, branches and tags.
> 
> Of course, there will be pre-release branches which will
> deviate from
> master.
> 
> Also it will be Centralized workflow described at
> (http://progit.org/book/ch5-1.html), where each
> developer will have
> permissions to commit to our main repository. No
> dictator-leutenant,
> we're not that big.
> 
> Now let's discuss. Soon, after analysis of your reaction
> and measure of
> involvement, I will propose the schedule of the switch
> over.
> 
> Also please review authors.log.sort, and check that I did
> not misspell
> somebody's name.
> 
> 
> Eugene
> 
> -----La pièce jointe associée suit-----
> 
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
> lucky parental unit.  See the prize list and enter to
> win: 
> http://p.sf.net/sfu/thinkgeek-promo
> -----La pièce jointe associée suit-----
> 
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scummvm-devel
> 


      




More information about the Scummvm-devel mailing list