[darcs-users] Feedback on hunk splitting with Darcs 2.4 beta 1

Isaac Dupree ml at isaac.cedarswampstudios.org
Sat Jan 16 20:05:22 UTC 2010


or, on second thought...

Florent Becker wrote:
> What about:
> ####################
> Interactive hunk edit:
> - Changes outside of the EDIT regions will be ignored
> - The changes in the file will be split into three patches,
>   PATCH 0, PATCH 1 and PATCH 2, together equivalent to your changes
> - After your edits, you can select what to keep among PATCH{0,1,2}
> === REFERENCE OLD STATE, do not edit --v ========
> some lines removed
> some other lines removed
> === PATCH 0 is between this state --^ and that state --v (EDIT BELOW) ==
> some lines removed
> some other lines removed
> === PATCH 1 is between this state --^ and that state --v (EDIT BELOW) ==
> some lines added
> some lines added
> === PATCH 2 is between this state --^ and that state --+ ===============
> ===         (REFERENCE NEW STATE BELOW, do not edit)   v ===============
> some lines added
> some lines added
> === (REFERENCE NEW STATE ABOVE, do not edit --^ )
> #####################

...so this is how it works: ? It's basically just like how I would go 
and manually edit the file in between darcs-records, except possibly 
less of a nuisance.  (So, not intrisically intuitive or quick, but 
something I've learned to do already that lets me control my 
darcs-patches.)  Does it allow to split into more than this number of 
patches? (basically, can you add new "===" lines for more sections in 
between?)

I vote "yes" on the last question, if I'm understanding correctly. In 
fact, couldn't it start out as simply,

=== REFERENCE OLD STATE, do not edit --v ========
some old lines
some old lines
=== PATCH here between this state --^ and that state --v ==
some new lines
some new lines
=== (REFERENCE NEW STATE ABOVE, do not edit --^

and you would copy-paste to make changes, like, to split it into 
changing-the-first-line and changing-the-second-line, you could edit it 
to be:

=== REFERENCE OLD STATE, do not edit --v ========
some old lines
some old lines
=== PATCH here between this state --^ and that state --v ==
some new lines
some old lines
=== PATCH here between this state --^ and that state --v ==
some new lines
some new lines
=== (REFERENCE NEW STATE ABOVE, do not edit --^

Of course this would take some explaining that we'd have to figure out 
-- especially to newbies.  But, tell me, have *I* gotten the idea correctly?

-Isaac


More information about the darcs-users mailing list