Rollback ate my commit message! (issue 1635)

Douglas Philips dgou at mac.com
Wed Nov 18 16:29:14 CST 2009


On or about 2009 Nov 18, at 4:15 PM, Martin Geisler indited:
> As far as I know, rollback only knows some file lengths. It truncates
> the files back to the last good length -- Mercurial is append-only, so
> this effectively undoes the last operation.
>
> I'm not sure why we only save the very last lengths?

I'm sure it doesn't matter any more. "Fixing" this would break  
backwards compatibility.


> The revisions are written out in the revlogs by their revision number
> (or rather, revisions get their revision number from their order in  
> the
> revlogs). So that is why strip needs to do extra work if you have
> revisions from different branches interleaved on disk. It cannot  
> just go
> in and truncate a file if there is a changeset from another branch in
> the middle of the truncated piece.

Not what I meant. I meant that if I do two commits, or a pull and a  
commit, and I want to rollback both, I cannot use rollback, I have to  
use strip. Yes, strip can do a lot more, but that isn't what I meant.


> Yeah, I do agree that it's extremely useful -- that's why we're all
> using it despite it's flaws :-)

:)

--Doug



More information about the Mercurial-devel mailing list