Requirements gathering for new package source control

Kevin Kofler kevin.kofler at chello.at
Mon Jun 9 22:57:31 UTC 2008


Jesse Keating <jkeating <at> redhat.com> writes:
> Be useful for offline development

Is that really a desirable thing at all? I know decentralized systems are "in" 
at the moment, but I think they're really unhelpful and counterproductive. 
Offline/private development:
* keeps others from seeing what you're doing - it's a step towards a closed 
development model, away from our goals of openness,
* risks reinventing the wheel, because you don't know what the comaintainers 
have committed locally,
* increases the risk of merge conflicts, because a whole bunch of changes gets 
dumped on the repo at once.

What I think we should encourage instead is to commit early, commit often. Even 
if the work is only partly done, it is often useful to commit what you have. 
And with "commit" there, I really mean committing/pushing to the central repo, 
not locally.

The problem as I see it is that N local commits and one big push are always 
compared to one big central commit (and there of course the N local commits win 
because they keep the history), but that's not the proper way to use a 
centralized source control system, N central commits are. Decentralized source 
control is only a way to make source control abuse slightly less of an issue, 
while at the same time encouraging such abuse.

In addition, the decentralized model introduces an additional source of errors: 
not only can you forget to commit, but you can also forget to push what you 
committed.

        Kevin Kofler




More information about the devel mailing list