[darcs-users] big-patches problem!

Trent W. Buck trentbuck at gmail.com
Wed Dec 24 01:08:03 UTC 2008


Isaac Dupree <isaacdupree at charter.net> writes:

> Gwern Branwen wrote:
>> There's no winning, is there. :( One big patch doesn't commute, and a
>> lot of little patches pollutes the history, and mixing it into other
>> changes is unclear.
>
> "pollutes the history" is an excuse that bothers me.  Why?  Because
> the only effect is on user-interface things that we could easily
> change, such as `darcs changes`.  Maybe when you make a patch bundle
> there should be some way to specify that all the patches do the same
> thing and should normally be shown as just one entry in the history.

When discussing the power of amend with git users, they pointed out that
I am essentially throwing away history when I amend.  As long as I'm
happy to admit my mistakes, a better way[0] would be to just keep
committing new patches, but somehow declare "this patch amends <hash>".

By default, then, "darcs changes" would collapse all the amendments into
a single changelog entry, but some --no-collapse option would show the
full history.  Further, this would avoid problems when upstream applies
a patch that you later amend.

[0] "better" according to my correspondents; personally I'm not
    convinced one way or the other is better in practice.

    Certainly an advantage for them is that it would be easy to
    implement "hiding style" amendments on top of the existing git
    infrastructure; as darcs users we don't need to care about kludgily
    backporting ideas to a history-oriented VCS ;-)

> Either we'd need to have an explicit way to mark that "same thing"
> concept (which could be somewhat powerful actually, but work), or we
> could go a simpler route: consecutive patches with the exact same
> description-line (or some other convention?) are shown as one entry in
> `darcs changes` et al., marked somehow to show that it's not actually
> a single patch.

I'm not sure I like that approach, but it would certainly be less
invasive.



More information about the darcs-users mailing list