Re: Distributed SCM in Gnome (Was: Git vs SVN (was: Can we improve things?))



On Qua, 2007-09-12 at 10:13 +0300, Kalle Vahlman wrote:
> 2007/9/11, Bryan Clark <bclark redhat com>:
> > GNOME is not in need of a DSCM or any other kind of new SCM.  For source
> > control, SVN works fine, just like CVS worked fine.  I'm not looking to
> > argue the features of one DSCM above another or what we have now, but really
> > the controlling of the source code isn't the problem this DSCM debate is
> > circling.
> 
> The problem which prompted this debate again was the infamous SVN
> accounts lag. DSCM allows people to comfortably work with "their repo"
> and easily get a subset of their current work to a patch for
> submitting to eg. bugzilla. Currently, you'd need to take a checkout
> for each "line of work" you start unless you want to backup your work
> manually with svn diff (urgh). Not so hot, specially since if you are
> not on the net all the time.
> 
> If you can comfortably work without access to the central repo, the
> need for the access becomes less of an issue. Thus helping people keep
> patient with the accounts lag, possibly even making it unneccessary
> for some.
> 
> So, in my opinion, GNOME does need DSCM as a *part* of the solution
> for the current problems.

I don't completely agree.  Personally, I have a GNOME SVN account but I
still want to use DSCM.  It's not at all related to giving more power to
3rd party contributors (although I admit it's an advantage).  It's about
giving more power to _us_ GNOME developers.

For me, it's about:
	1- Getting rid of ChangeLog and instead do lots of micro commits and
then using <whatever> log --format=GnuChangeLog > ChangeLog

	2- Really Fast commit and history vizualization without network lag;

	3- Branching and merging that works correctly out of the box 
		a) without having to learn to use band-aid tools like svnmerge
		b) without having to deal with conflicts in the ChangeLog file, since
it is generated from log messages;

	4- Oh, in one of my projects[1] I even got my package to automatically
derive its own version number from the last tag registered in the
branch, so that I only have to tag the source tree and make a release
tarball, not update some version string in some file; how cool is
that? ;-)


[1] https://launchpad.net/pybindgen
-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]