James Sleeman writes:
 > On 23/02/13 23:28, Stephen J. Turnbull wrote:

 > > "Commit early, commit often, I always say." :-)
 > >
 > > Is that a problem for you?  If so, why?  Any suggestions on how to
 > > make that less an issue?
 > 
 > Large numbers of small patches that form part of a whole don't fit my 
 > work flow,

I was afraid you'd say something like that.  It makes it really hard
to come up with something that will work, though.

Suppose it could be done automagically (eg, every time you save), and
the small "autocommits" hidden in the normal history report?  (Eg, the
typical bzr workflow, if you know anything about bzr.  If not, the
idea is a new branch for every piece of work, committing frequently.
You merge that to the mainline when the "piece" is done, and "bzr log"
shows only the merge commits by default.)

 > nor are they very nice in general IMHO (one of amend-record's
 > motivations is to allow you to progressively build up a patch so
 > that everything is "together", n'est pas).

If you're doing that consistently, I suspect it's going to be
difficult to "fix" Darcs (or any other VCS) to automatically do what
you want well.  It's an order of magnitude more difficult problem
(more likely, several orders of magnitude) to teach the VCSes to
recognize semantic dependencies vs. textual conflicts.  But if you had
smaller commits, a textually-conflicting one could often be commuted
past the semantically desired cherrypicks, I believe.

 > there is no way to say "hey Darcs, I want that, but not that,
 > let me sort out any problems (conflicts) that causes"

Sure there is.  diff | patch will work just as well as it always did.
Of course, that doesn't help you the second time you want to do the
same thing.

It sounds to me like your requirements are quite close to Mercurial's
"queues" extension.  Have you tried that?  If so, do you agree?  (I'm
looking for a specification the Darcs devs can follow, not suggesting
you switch VCSes.)

In the context of Darcs, it might be useful to have a semi-automatic
UI that would display the primitive patches that create dependencies,
and allow you to split the containing patch.  I'm not sure how useful
this would be for you given you prefer larger patches.

Steve
_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to