Catalin Marinas <[EMAIL PROTECTED]> writes: > Bruce Stephens <[EMAIL PROTECTED]> 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. _______________________________________________ Gnu-arch-users mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/
