svn or arch

Dimitrie O. Paun dpaun at rogers.com
Mon Dec 20 04:49:06 UTC 2004


On Fri, Dec 17, 2004 at 03:21:10PM -0500, Colin Walters wrote:
> First, I think it's wacky to maintain patch files in revision control.
> If you want to look back at history, you're looking at a diff of a diff,
> which is just incomprehensible.  The right way to do this in my opinion
> is to have each patch be a direct branch of the upstream source.  If you
> have patch interdependencies, then you create a new branch which merges
> from the interdependent branches, just like how you have to adjust the
> patch files now.

That's an idea that I've been playing with myself. However, I want to
be able to generate SRPMS from it too, preferably generating the PatchN
series of patches. Problem is that with PatchN you have an ordering for
the patches, whereas with the direct branching from the upstream source
you don't. And I don't quite see how a new branch for interdependent branches
would work in practice.

However, I think we can avoid all sorts of problems, if instead of branching
from the source, we branch from the brances -- this would give us the
ordering. So, say that now you have a package 'foo' that has 3 patches in
its .src.rpm:
 Patch00: disable-bar.patch
 Patch01: bluecurve.patch
 Patch02: memleak-fix.patch

We can then branch as follows:
  foo                          -- branch for tracking upstream source
   |
   \-disable-bar               -- branch for the 'disable-bar' feature
      |
      \-bluecurve              -- branch for the 'bluecurve' feature
         |
         \-memleak-fix         -- branch for the 'mem-leak' feature

This should be enough to be able to automatically generate the correct
patches, and build the SRPM, no?

It does make it a bit difficult to change the order of the patches, but
it can be done, and to be honest, I don't see this sort of reordering as
a common occurence.

-- 
Dimi.




More information about the fedora-devel-list mailing list