[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Removing rollback from VC mode - request for comment
From: |
Thien-Thi Nguyen |
Subject: |
Re: Removing rollback from VC mode - request for comment |
Date: |
Thu, 11 Dec 2014 13:23:15 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
() David Kastrup <address@hidden>
() Thu, 11 Dec 2014 10:43:13 +0100
> Is it really important to support a VC-mode operation that
> experience has shown to generally be a Bad Thing,
We are really talking about RCS here. RCS is not usually
shared, at least not network-shared. I don't see that
experience has shown rollback to be a bad thing for RCS.
Experience does not tend to show a lot for RCS anyway
these days since few people are still using it.
Conceptually, rollback is removing the last commit.
In RCS, this is implemented via ‘rcs -o’ (for "outdate"),
which in its general operation can remove a series of
consecutive non-tip commits, as well. In Git terms, "RCS
outdate" can be likened to both ‘git reset --hard HEAD~1’
(last commit only) and ‘git rebase -i’ + manual omission of
commits in the list (generally). The ‘git rebase’ is more
powerful because an arbitrary set of commits can be dropped;
they need not be consecutive.
Anyway, this DAG-dicing is not shooting oneself in the foot
if one knows what one's doing. Personally, i prefer VC not
to (try to) think for me in this regard. [Already, i am
ready to gripe about "always editable" for RCS -- that's
wrong and embracing it in the name of progress is unwise.
(I'm "ready" but i haven't looked at the new code yet, much
less played w/ it, so there's still time to let my angst boil
over. :-D)]
So, i think "rollback" as a concept is actually not far
enough. Being able to select arbitrary commits to drop (like
‘d’ and ‘x’ in Dired) is what i'd like to see, in its stead.
Another idea is to modify the "rollback" concept to leave the
working files "as-is" but remove the commit from the repo.
For RCS, this would be ‘co -p ; rcs -o ; mv’ (roughly), and
for Git this would be ‘git reset --mixed HEAD~1’. On second
thought, using the same name w/ different meaning is indeed a
foot-shooting move, so maybe "step back" is what we want.
If we add "step back", then we can keep "rollback" as an
optional mode of operation (via ‘C-u’). Or "rollback" can
take ‘C-u’ to mean "step back". Or there could be a variable
to control things. Etc.
> 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 think that rollback may make sense in RCS-based
workflows. But I don't think that this should be VC's
problem. VC does not provide every functionality for
every version control system, so think we should be fine
removing rollback from VC. VC does not support every Git
functionality either: if it is really important to people,
it can be reimplemented in some RCS-specific
mode/feature/library/command set.
I think if we can extend "rollback" to do something useful,
that would be best. Dropping features is liberating for the
programmer but unkind for the user. Being unkind to the old
and ugly is particularly lamentable.
--
Thien-Thi Nguyen
GPG key: 4C807502
(if you're human and you know it)
read my lisp: (responsep (questions 'technical)
(not (via 'mailing-list)))
=> nil
signature.asc
Description: PGP signature
- Removing rollback from VC mode - request for comment, Eric S. Raymond, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, David Kastrup, 2014/12/11
- Re: Removing rollback from VC mode - request for comment,
Thien-Thi Nguyen <=
- Re: Removing rollback from VC mode - request for comment, Eric S. Raymond, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, Eli Zaretskii, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, Sergey Organov, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, Sergey Organov, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, Eric S. Raymond, 2014/12/11
- Re: Removing rollback from VC mode - request for comment, Stephen J. Turnbull, 2014/12/11