darcs

Issue 296 ability to break up/ungroup and consolidate/merge/group named patches

Title ability to break up/ungroup and consolidate/merge/group named patches
Priority feature Status given-up
Milestone Resolved in
Superseder Nosy List Aaron, dmitry.kurochkin, ezyang, kowey, nwf, phercek, thorkilnaur, tommy
Assigned To
Topics

Created on 2006-10-13.09:38:41 by kowey, last changed 2017-07-31.00:07:22 by gh.

Messages
msg1078 (view) Author: kowey Date: 2006-10-13.09:38:33
Import of RT #141

Sammi Williams <sammi@oriontransfer.co.nz> 2004-12-15
-----------------------------------------------------
Is there any way to merge two patches together to form one bigger patch? The
example is I have two patches A and AB, where patch A should actually contain
modification AB. I'd like to write:

darcs merge A AB

which gives the result of (if it is logicially valid to do so) a patch named A
with the modifications made by AB appended to the end of A, and the removal of
patch AB from the repository. This would be purely from a repository maintaince
aspect - some superflous patch was created by accident and should really be
contained within another patch.
msg2006 (view) Author: kowey Date: 2007-08-06.08:41:49
How about we declare this one resolved?  It seems like the way to do this would
be to unrecord the latter patch and amend-record the former.  Thanks, Sammi.
msg8436 (view) Author: kowey Date: 2009-08-23.20:54:26
Named patches contain primitive patches.  It may be nice to split a named patch
into smaller ones and also to clump together several named patches into a single
patch.

Needs UI design.
msg8437 (view) Author: kowey Date: 2009-08-23.20:56:57
See msg5093 and msg5111 from issue891 for some more discussion on this
Also issue938 is related.
msg12510 (view) Author: kowey Date: 2010-09-08.17:44:31
Sorry for the noise.  Merging issue1560 into this one (hence the extra 
messages as I linked the message objects into this ticket)

I really ought to get around to making this a one-click operation for 
admin users.
msg12852 (view) Author: ashmoran Date: 2010-10-30.13:58:01
I'd like to be able to group patches in a non-destructive way.

Say I'm working on a new feature, I will write a high-level integration 
test first.  Now, as I write and make unit tests pass, I want to be able 
to record patches as I go, but that means these patches leave the 
recorded repository in a failing state (the integration test is still 
failing).  Also, while it is useful in some contexts to see them, in 
others it is just noise.

One use case is unpicking changes made in an extensive patch.  Currently 
you have to annotate the patch, and pick through it line by line.  It 
would be much easier (if, say, you were debugging a database library 
issue) if you could drill down and see that "Replace database engine" 
contained "Update SQLite version" (insert more plausible example here).

Currently the closest you can do is amend-record, eg:

  repo_a% darcs put ../repo_b
  repo_b% darcs record; darcs record; darcs record; ...
  # now merge them
  repo_b% darcs unrecord # the three patches we made
  repo_b% darcs record -a

I think Sammi's request is an abbreviation of the above.

What I'd like to do is preserve the patches in a group, eg

  darcs group  A B C

to make a patch X that depends on A B and C, a bit like a tag.  But 
there should be no need to show A B and C by default in most situations.  
eg darcs log might show

 darcs log # => A B Y Z

but if you pull patch X later it would also pull in C, then the output 
would be

  darcs log # => X Y Z

I'm sure it raises a whole host of issues (eg the interface for 
navigating a hierarchy) but it would make browsing a repository much 
easier.
History
Date User Action Args
2006-10-13 09:38:41koweycreate
2007-08-06 08:41:50koweysetstatus: unread -> resolved
nosy: + beschmi
messages: + msg2006
title: Compound patches -> command to 'merge' two patches together
2009-08-06 17:47:55adminsetnosy: + markstos, jast, Serware, dmitry.kurochkin, darcs-devel, zooko, dagit, mornfall, simon, thorkilnaur, - droundy
2009-08-06 20:43:39adminsetnosy: - beschmi
2009-08-10 21:56:45adminsetnosy: - markstos, darcs-devel, zooko, jast, dagit, Serware, mornfall
2009-08-25 17:59:40adminsetnosy: + darcs-devel, - simon
2009-08-27 13:50:59adminsetnosy: tommy, kowey, darcs-devel, thorkilnaur, dmitry.kurochkin
2010-09-08 17:41:38adminsetstatus: resolved -> unknown
messages: + msg8436, msg8437
2010-09-08 17:44:32koweysetstatus: unknown -> needs-reproduction
nosy: + Aaron, phercek, nwf, ezyang, - darcs-devel
topic: - FromRequestTracker
messages: + msg12510
title: command to 'merge' two patches together -> ability to break up and consolidate/merge named patches
2010-09-08 17:45:27koweylinkissue1560 superseder
2010-10-29 21:27:55koweysettitle: ability to break up and consolidate/merge named patches -> ability to break up/ungroup and consolidate/merge/group named patches
2010-10-30 13:58:02ashmoransetmessages: + msg12852
2017-07-31 00:07:22ghsetstatus: needs-reproduction -> given-up