emacs-devel
[Top][All Lists]
Advanced

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

Removing rollback from VC mode - request for comment


From: Eric S. Raymond
Subject: Removing rollback from VC mode - request for comment
Date: Thu, 11 Dec 2014 04:21:38 -0500 (EST)

I am trying to simplify and clean up the back-end API of VC mode.  The
low-hanging fruit, the methods and configuration variables that were
redundant or obvious shoot-self-in-foot anachronisms, are gone at this
point.  (And there were a lot of those; I count nine.)

I can go further, but to do so I need to actually change the behavior
of the mode and remove some features that, at least once upon a time,
had a real use case.

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.

Here are the arguments for doing this:

1. It simplifies the API and code - if I rip this out, I think I can
also remove latest-on-branch-p.  It also builds towards a difficult 
goal, which is to reduce the set of version-control states and
simplify the rather large hairball that vc-next-action has become.

2. VC in particular, and version-control systems in general, have
moved towards a philosophy of making history destruction difficult.
Old school, saving disk space was important enough that removing
deltas was actually done as an economy measure.  New school, making 
it difficult for the user to shoot self in foot is a higher virtue.

The argument against this is simply that someone, somewhere out there,
might be using it on some remnant RCS repo (I think we can safely
consider SCCS dead to us at this point).  And the broader question is
whether that possibility is a dealbreaker.

Is it really important to support a VC-mode operation that experience
has shown to generally be a Bad Thing, simply to preserve backward
compatibility?  How do we evaluate tradeoffs when a featurectomy
would reduce maintenance burden and possibly improve the quality
of support for new systems?

I don't think I have a pat answer to these questions.  Discuss.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>

Whether the authorities be invaders or merely local tyrants, the
effect of such [gun control] laws is to place the individual at the 
mercy of the state, unable to resist.
        -- Robert Anson Heinlein, 1949



reply via email to

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