svn or arch

Colin Walters walters at redhat.com
Mon Dec 20 20:08:57 UTC 2004


On Mon, 2004-12-20 at 14:52 -0500, Dimitrie O. Paun wrote:
> On Mon, Dec 20, 2004 at 11:15:36AM -0500, Colin Walters wrote:
> > On Sun, 2004-12-19 at 23:49 -0500, Dimitrie O. Paun wrote:
> > 
> > > That's an idea that I've been playing with myself. 
> > 
> > You also have a build system?
> 
> Nothing that works, no. But I'm planning on setting one up, based
> on arch. Thinking about it, I've reached the same conclusions you
> had, which is what got me into this thread in the first place :)

Cool.  It definitely seems to me there's a lot of interest in a new
build system; there's mach, beehive, rookery, the fedora.us one, and
probably tons of others.  Maybe we should make a new list for this; or
maybe use the RPM list?

> Goes without saying. But before we can write one, I have to have at
> least a clue how it's going to work out.

Right; well I think in this case both would generally work.  In your
scenario, the other branches essentially just become an implementation
detail of the first branch.

> But speaking of the branches, this is what will make or break such system.
> Explicitly defining them in the .spec file is one way. More work, but:
>   1. you get more control
>   2. it's easy to add/delete/reorder things.

Well you need to define them somehow.  My idea was that the build system
would automatically do a 3-way merge *at build time*, based on the
Branch: headers.  If that failed, it failed the build and kicked it back
to you, just like it does now for applying a patch.

> However, it's still not clear how it's going to work. Without merging
> patches, how do you know they don't conflict? 

You'd just build on your local machine for testing, or use a 'scratch'
area in the build system.

> Even if they don't, they
> may introduce fuzz for the others.

I think you'd want an option to disable fuzzy patch application for
whatever RCS is in use; or maybe you get a build warning if there's a
too-fuzzy patch; e.g. over 5 lines displacement?  This is just detail
though.

> It seems to me the only way you are guranteed things will work is only
> if you have the RCS system handle the order in which you do the patches
> as well.

It's not clear to me that ordering is really all that useful if we make
it easy to create new branches that merge from two conflicting branches.
When would you want to reorder patches other than to work around
conflicts?





More information about the fedora-devel-list mailing list