clarification on git, central repositories and commit access lists

Thomas Zander zander at kde.org
Wed Aug 22 07:45:16 BST 2007


On Wednesday 22 August 2007 06:49:55 Aaron J. Seigo wrote:
> > Their git trees (most likely more then one) would be published
> > somewhere for kdepim enthusiasts to follow and develop on, but in the
> > end you'd still need to move the patches that will eventually end up
> > in the final release to subversion.
>
> which means that between releases they'd have one less person testing
> their code and one less person making the odd fix here and there. i
> track every module and have used HEAD/trunk kdepim for the entirety of
> the kde2 and kde3 series for my day to day use.
>
> unless their git trees were synced on a very frequent basis with svn
> and unless i could commit to svn and have it sync'd back to one of
> their trees, there's no point in me dealing with running trunk/ apps.

I think we differ in opinion not on a technical but mostly on a 
programming-workflow approach.

With that I mean that in KWord I tend to work on a feature by first 
writing a unit test and committing that.  After that I start to implement 
the feature until it actually passes the unit test and after that I add 
UIs etc etc etc.
In other words; it takes me a week with 30 commits before I finish this 
new feature.   And finish naturally doesn't mean bug-free.
During this time I will surely find bugs in other pieces of code, or 
simple little features to add there.  I commit those separately.

All the above goes into one git tree and depending on how much I work with 
others on the features I publish that git tree.  But the small fixes will 
be committed to the 'release' tree (aka svn) as soon as possible.
At the end of the week when my feature is 'done' I will also push that 
upto the release tree.

So, what IMOHO you, as a svn user, will end up with is the trunk that 
doesn't have half finished features that mess everything up. You will 
still see the current development (mostly) but not the dirty 
work-in-progress-excuse-the-mess versions.

As an example; in Krita we have this excellent GSoC project for color 
mixing, the author programs in trunk and thus commits everything there. 
We have had a couple of times when his commits made it hard for others to 
try out his work. I.e. it was quite broken.   I'm all for experimentation 
so I'm not complaining.  But at the same time I do see it as a great 
opportunity for Git where I can imagine him committing his 
work-in-progress that is known to create regressions and publish that for 
other interrested people to see.  And only after a week of hacking commit 
his updated version to the release tree so everyone can enjoy it.  
leaving the release tree free from major regressions.

> i actually consider eating dogfood to be pretty important.
I agree.
And I believe that Git actually helps by allowing others to see a more 
representative version of the software instead of one that is constantly 
in flux.

> i'd also suggest that there are already enough barriers to contributing
> to kdelibs from application developers that we don't need to widen
> those rifts.

Right, but I don't see how adding ways for people to work widens the rift.  
All the workflows you are used to are still there, there just are more 
workflow possibilities and thus more ways to get productive.
So, I really don't think it is in any way an extra barrier.  It actually 
tears down several barriers. For example that people can hack ages and 
get their stuff into the mainline without being required to actually 
having an svn account.  (naturally they can, but they don't have to).

Again, this is about adding ways of working, not about removing old ones.

> now, don't get me wrong. i am very much in favour of moving to
> something better than svn. i think git is a great candidate; perhaps
> even -the- candidate in the mid-term. at the same time, i don't want to
> see that transition cause unnecessary problems.

Neither does anyone else, certainly not me :)  And I'm thinking that the 
community is smart enough to come up with a way of working that allows 
the community values you mentioned (not quoted here) to stay around while 
opening up various ways of working that actually leverage that same 
community more.

But, you may be right that we should start at the edges (extragear or 
KOffice) and experiment there.  Showing how it can be done is typically 
the best way to take away uncertainties :)
-- 
Thomas Zander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070822/021f6124/attachment.sig>


More information about the kde-core-devel mailing list