The Future of Fedora Package Management and the RPM Philosophy

Jeffrey C. Ollie jeff at ocjtech.us
Sun Jun 10 05:17:13 UTC 2007


On Sun, 2007-06-10 at 04:29 +0000, Bojan Smojver wrote:
> Jeffrey C. Ollie <jeff <at> ocjtech.us> writes:
> 
> > What this
> > discussion has been about is bringing patch development out of a hidden
> > corner the package maintainer's laptop hard drive and into a centrally
> > maintained, publicly available version control repository.
> 
> I thought that all patches already existed in CVS. What's hidden?

Yes, the patches are all there in CVS.  But they are stored there as
binary blobs, which is a very difficult format to deal with when you
want to update it for whatever reason (so that it applies to a new
version of the upstream code, to fix a bug in the patch itself, etc.).

Basically, the patches stored in CVS throw away all of the history that
went into developing them.

Once you know more about source code control you'll understand that
having the history that went into a patch (and into the source code that
the patch is for) lets you do amazing things with patches, like rebase
them so that they apply to new versions of released software.

> > Apparently you have never used a version control system that properly
> > supports branching and merging.  CVS and Subversion do not count.  Git,
> > Mercurial, and Bazaar are ones that do and make it easy (in some cases
> > trivial) to maintain code/patches in branches and then rebase the
> > patches to new versions of the upstream code as they are released.  With
> > the proper discipline, keeping track of the changes that we have made to
> > the pristine code isn't really a problem.
> 
> You are right, I didn't. I saw Linus talk about git and I kind of get the bit
> about identifying what's what, but I'm still not sure how such a system knows
> how to redo the patch so it applies to a completely new version of the software.
> But maybe it does - I never used it, so I really don't know.

Branches are the key.  I'd recommend taking the time to learn one of the
distributed revision control systems.  Once you've grokked the concepts
of branching and merging you'll wonder how you ever did without them.

> > However, I don't want this thread to descend into a debate about the
> > best revision control system.  We need to be discussing things at a
> > higher level right now.
> 
> No, that's OK. I think Fedora should switch version control software anyway. CVS
> most definitely had its day.

CVS should have been dead long ago, but like Bernie[1] it just doesn't
seem to want to die.

[1] http://www.imdb.com/title/tt0098627/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20070610/2c06f963/attachment.sig>


More information about the fedora-devel-list mailing list