[Top][All Lists]

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

Re: [Gnu-arch-users] Re: Future of GNU Arch, bazaar and bazaar-ng ... ?

From: Bruce Stephens
Subject: Re: [Gnu-arch-users] Re: Future of GNU Arch, bazaar and bazaar-ng ... ?
Date: Tue, 30 Aug 2005 16:53:12 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Catalin Marinas <address@hidden> writes:

> Bruce Stephens <address@hidden> wrote:
>> I think the major part of what Linus wanted was a bit more involved
>> than just deleting things.  (He may well have wanted to be able to
>> simply delete things as well; for legal reasons, for example.)
>> I seem to remember he wanted to be able to ask a contributor to clean
>> up a proposed patch before resubmitting it, and for the system to make
>> that feasible.  
>> In darcs terms, he wanted to have "darcs amend-record", and "darcs
>> unrecord" and similar features.  So someone could take their working
>> branch (where they might commit things several times a day) and
>> reorganise the changes so that they make logical sense.
> That's not handled by GIT directly but there is StGIT that allows
> patch recording/unrecording (push/pop) and amending (refresh).
> What Linus also wanted was to have throw-away branches. I.e. you can
> create a branch to do some merging and testing for a while and you
> should be able to throw it away once you finished with it (either
> after merging it into the mainline or simply discarding the
> changes).

Well, yes.  If you could have a branch, work on it, merge the results
and then throw away the branch, then presumably that would allow
cleaning up a patch.  

And no, monotone doesn't really allow this: if you want a particular
revision then you have to have all its ancestors.  I think you don't
have to have the branch certs (the things that mark a revision as
belonging to a particular branch or branches), so it might be possible
to merge and have the throwaway branch represented by fairly anonymous
revisions.  But maybe not; that may have been an unintentional
(temporary) feature of the netsync code.  

njs has been musing about how to sensibly merge trees (that is, file
creations, deletions, movements), and that's helped to clarify my
expectations of what might be possible with throwaway branches.
(Rather less seems to be feasible than I'd originally hoped.  darcs is
different, of course.)

> I don't know about monotone but this wasn't possible in Arch. Darcs
> allows this since a branch is a new copy of the repository.

But with darcs when you merge such a branch you still end up with all
the patches, I think, unless you do some work (amend-record or
unrecord/record) to combine them.  My impression is that Linus wanted
it to be possible to clean up the history.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]