[Top][All Lists]

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

Re: Removing rollback from VC mode - request for comment

From: Eric S. Raymond
Subject: Re: Removing rollback from VC mode - request for comment
Date: Thu, 11 Dec 2014 13:36:49 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

Stefan Monnier <address@hidden>:
> > Rollback is a case in point.  It is a command that lets you undo the
> > last checkin.  Only SCCS and RCS actually support it.  Git possibly 
> > could, in theory, but the Git implementation would be tricky and have 
> > sharp edges when the last revision had been pushed.
> Actually, I think most VCS can support it one way or another.

It's not hard to simulate using what in git terms is a reverse cherry pick.
But modifying history in place is very difficult to do with a good outcome.
> But contrary to what the above two statements might lead you to think,
> I'm in favor of removing this rollback, because I don't think it's good
> enough as it stands.  E.g. I think it should be replaced by an
> `uncommit' which would be the opposite of `commit' and should ideally
> preserve as much info as possible (e.g. not change the file's contents,
> and stash the commit message somewhere so it can be re-used if you
> decide to recommit).

Interesting idea. I think you are right that this is what people usually
want - "oops, I just committed something incomplete, let me get back to
the repo and workfile state just before I hit the button, with the commit
message stashed for re-use".

The question then becomes whether preserving the rollback methods we have
now gets us anywhere towards that.

/me reads the code for vc-rcs-rollback.

And the answer is..no, not really.  The RCS backend code for coping
at a branch base might be slightly useful, but the rest is designed 
for a different UI and would have to be tossed out anyway.

Conclusion: rollback should indeed be scrapped, and uncommit added to
the list of features to be done along with stash/shelve support.  

It'll take a while, though.  Michael Albinus and I are finding a lot
of bit-rot.  He just told me that six of the eight working-revision
backend functions don't work right. Much repair is required before
adding new features.
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>

reply via email to

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