all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thien-Thi Nguyen <ttn@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: Removing rollback from VC mode - request for comment
Date: Thu, 11 Dec 2014 13:23:15 +0100	[thread overview]
Message-ID: <87fvcm8jf0.fsf@zigzag.favinet> (raw)
In-Reply-To: <874mt2iksu.fsf@fencepost.gnu.org> (David Kastrup's message of "Thu, 11 Dec 2014 10:43:13 +0100")

[-- Attachment #1: Type: text/plain, Size: 3339 bytes --]

() David Kastrup <dak@gnu.org>
() 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2014-12-11 12:23 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-11  9:21 Removing rollback from VC mode - request for comment Eric S. Raymond
2014-12-11  9:43 ` David Kastrup
2014-12-11 12:23   ` Thien-Thi Nguyen [this message]
2014-12-11 12:51     ` Eric S. Raymond
2014-12-11 16:24       ` Eli Zaretskii
2014-12-11 17:12         ` Steinar Bang
2014-12-11 18:16           ` Eli Zaretskii
2014-12-11 17:45         ` Eric S. Raymond
2014-12-11 18:30           ` Eli Zaretskii
2014-12-11 19:54           ` Sergey Organov
2014-12-11 20:53             ` Sergey Organov
2014-12-11 21:49             ` Eric S. Raymond
2014-12-12  0:57               ` Stephen J. Turnbull
2014-12-12 10:54                 ` Steinar Bang
2014-12-12  0:33           ` Stephen J. Turnbull
2014-12-12  3:21             ` Eric S. Raymond
2014-12-11 11:51 ` Ted Zlatanov
2014-12-11 12:42   ` Steinar Bang
2014-12-11 12:57     ` Eric S. Raymond
2014-12-11 16:23     ` Eli Zaretskii
2014-12-11 11:53 ` Steinar Bang
2014-12-11 11:57   ` Steinar Bang
2014-12-11 12:36     ` Eric S. Raymond
2014-12-11 13:48       ` David Kastrup
2014-12-11 14:27       ` Ted Zlatanov
2014-12-11 15:59         ` Steinar Bang
2014-12-11 16:21       ` Eli Zaretskii
2014-12-11 17:01         ` Óscar Fuentes
2014-12-11 18:12           ` Eli Zaretskii
2014-12-11 19:24             ` Steinar Bang
2014-12-11 20:23               ` Stefan Monnier
2014-12-11 20:59               ` Eli Zaretskii
2014-12-12 15:44                 ` John Mastro
2014-12-12 16:01                   ` Nicolas Richard
2014-12-12 19:22                     ` Eli Zaretskii
2014-12-14 12:11                       ` Jonas Bernoulli
2014-12-14 19:34                         ` Eli Zaretskii
2014-12-14 23:29                           ` Stefan Monnier
2014-12-15 13:10                           ` Jonas Bernoulli
2014-12-15 17:21                             ` Eli Zaretskii
2014-12-12 19:22                   ` Eli Zaretskii
2014-12-11 21:11               ` Rasmus
2014-12-11 17:09         ` Eric S. Raymond
2014-12-12  0:21           ` Stephen J. Turnbull
2014-12-12  3:19             ` Eric S. Raymond
2014-12-12 10:57             ` Steinar Bang
2014-12-12 13:57               ` Stefan Monnier
2014-12-12 14:06                 ` Sergey Organov
2014-12-12 16:04                   ` Stefan Monnier
2014-12-14 14:40               ` Stephen J. Turnbull
2014-12-14 20:48                 ` Steinar Bang
2014-12-14 23:29                   ` Stefan Monnier
2014-12-15  2:04                   ` Stephen J. Turnbull
2014-12-15  9:04                     ` David Kastrup
2014-12-11 18:55       ` Achim Gratz
2014-12-11 19:28         ` Steinar Bang
2014-12-11 20:21           ` Stefan Monnier
2014-12-12  9:06             ` vc-region-authors (or some such) Sebastien Vauban
2014-12-12 14:22               ` Stefan Monnier
2014-12-12 16:13                 ` Dmitry Gutov
2014-12-11 15:47 ` Removing rollback from VC mode - request for comment Stefan Monnier
2014-12-11 17:02   ` Sergey Organov
2014-12-11 18:36   ` Eric S. Raymond
2014-12-11 19:40     ` Stefan Monnier
2014-12-12 16:41     ` Richard Stallman
2014-12-12 17:45       ` Eric S. Raymond
2014-12-13 12:46         ` Richard Stallman
2014-12-13 13:41           ` Eric S. Raymond
2014-12-14  9:07             ` Richard Stallman
2014-12-14 10:04               ` Eric S. Raymond
2014-12-14 14:01                 ` Thien-Thi Nguyen
2014-12-11 19:25 ` Karl Fogel
2014-12-11 19:50 ` Richard Stallman
2014-12-12 15:42 ` Uwe Brauer
2014-12-12 16:15   ` David Kastrup
2014-12-12 17:16     ` Uwe Brauer
2014-12-12 17:43       ` David Kastrup
2014-12-12 19:02         ` Stefan Monnier
2014-12-12 20:54           ` Uwe Brauer
2014-12-12 21:49             ` Stefan Monnier
2014-12-13  9:30               ` Uwe Brauer
2014-12-13  9:42                 ` David Kastrup
2014-12-13 10:32                   ` Eli Zaretskii
2014-12-13 10:45                     ` David Kastrup
2014-12-13 11:36                       ` Eli Zaretskii
2014-12-13 13:59                 ` Stefan Monnier
2014-12-13 15:21                   ` Uwe Brauer
2014-12-14  4:06                     ` Stefan Monnier
2014-12-14 13:13                       ` Uwe Brauer
2014-12-14 13:27                         ` David Kastrup
2014-12-15 17:25                           ` Uwe Brauer
2014-12-15  4:38                         ` Stefan Monnier
2014-12-15  9:14                           ` David Kastrup
2014-12-15 17:34                           ` Uwe Brauer
2014-12-17 21:01                             ` Stefan Monnier
2014-12-12 20:52         ` Uwe Brauer
2014-12-12 17:41     ` Multiple independent projects per directory Eric S. Raymond
2014-12-12 18:07   ` Removing rollback from VC mode - request for comment Thien-Thi Nguyen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fvcm8jf0.fsf@zigzag.favinet \
    --to=ttn@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.