[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Breaks in lenny



Manoj Srivastava <srivasta@debian.org> writes:

>         I am not sure I follow. When you unpack a .dsc based on an
>  integration branch of a DVCS based package, you have the sources that
>  are going to be fed to the compiler -- no additional work is required
>  by the end user.
>
>         The adopter gets a set of branches, all named, with aproper
>  history, changelogs, and  best of all, something that can compile
>  independently of all the other  branches of development in the
>  integration branch.

If people use branches the way that quilt manages patches, it's great, and
you get everything you need, provided that you can figure out their branch
and merge strategy (which is sometimes rather tricky).  If they use the
VCS like most people use Subversion or the like, you get a giant wad of
patch, which is way less useful than what quilt gives you.

Yes, you could manage a giant wad of patch in quilt too, but people tend
not to.  The workflow of quilt really pushes people into maintaining
separate patches per distinct change.  The workflow for a DVCS does not,
which can be a bit of a problem.

Also, quilt trivially juggles forty, sixty, or a hundred patches.  I'm
still a bit skeptical that a DVCS is going to handle that many branches
and integration points as trivially as quilt does what it does, but I'm
going to have to spend a fair number of hours playing with something like
git before I'll have an informed opinion.

Plus, quilt is WAY easier to understand than any DVCS that I've ever seen.
I'm still at the point in the learning curve where that's fairly
significant.  :/

>         How is this less clear than what quilt does?  If I
>  have 4 different features, can I easily ensure with quilt that all my
>  feature branches independently compile and work; as well as the
>  integration branch?

>         If that is the case, I have sadly underestimated bunches of
>  patches as opposed to proper feature branches + sloppy branch +
>  integration branch work-flow that I have come to use.

This is not something that people normally do with quilt a lot.  The
separation of patches is more so that you can reason about each one
independently and so any merge conflicts resulting from upstream doing the
same thing in a different way are easier to deal with since you only have
to look at one set of changes at a time, not to treat each patch as a
separate compilable tree in its own right.  But you can certainly
selectively apply patches using quilt and try separate builds with
different patch sets.

Where a DVCS shines is when multiple patches affect the same file.  quilt
forces you to order them in that case, although if they're actually
independent you can generally still work on the patches independently if
you want; you'll just get some fuzz when applying them.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: