From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: RCS, again: another removed functionality: undo last-checkin Date: Wed, 23 Sep 2015 09:18:19 +0200 Message-ID: <87vbb1a9j8.fsf@fencepost.gnu.org> References: <87oagx6tzz.fsf@mat.ucm.es> <55FF4026.2050004@yandex.ru> <83si68nu4i.fsf@gnu.org> <87eghsfd3m.fsf@fencepost.gnu.org> <83k2rknr2c.fsf@gnu.org> <87mvwellmg.fsf@uwakimon.sk.tsukuba.ac.jp> <87k2ri3w88.fsf@wanadoo.es> <83io71ljt6.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1442995877 15949 80.91.229.3 (23 Sep 2015 08:11:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 23 Sep 2015 08:11:17 +0000 (UTC) Cc: =?iso-8859-1?Q?=D3scar?= Fuentes , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 23 10:11:10 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zef8w-0000Z8-58 for ged-emacs-devel@m.gmane.org; Wed, 23 Sep 2015 10:11:10 +0200 Original-Received: from localhost ([::1]:46118 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zef8v-00067o-J2 for ged-emacs-devel@m.gmane.org; Wed, 23 Sep 2015 04:11:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zef8m-00064x-Ly for emacs-devel@gnu.org; Wed, 23 Sep 2015 04:11:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zef8l-00037T-KH for emacs-devel@gnu.org; Wed, 23 Sep 2015 04:11:00 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53648) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zef8l-00037F-Hg; Wed, 23 Sep 2015 04:10:59 -0400 Original-Received: from localhost ([127.0.0.1]:39233 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1Zef8k-0000yZ-I4; Wed, 23 Sep 2015 04:10:58 -0400 Original-Received: by lola (Postfix, from userid 1000) id 9E8E4E300E; Wed, 23 Sep 2015 09:18:19 +0200 (CEST) In-Reply-To: <83io71ljt6.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 23 Sep 2015 09:40:53 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:190273 Archived-At: Eli Zaretskii writes: >> From: =D3scar Fuentes >> Date: Wed, 23 Sep 2015 00:49:59 +0200 >>=20 >> IMHO it would be wrong to implement a command that does one thing or >> another depending on the backend. > > With such different philosophies between different back-ends, we > really have no choice. Keep in mind that this command is supposed to > be used very rarely, if at all, by users who know what they are doing, > including what it does with the current back-end. A command that is supposed to be used very rarely, if at all, by users who know what they are doing is a command that does not deserve a keybinding, and arguably no VC command at all since the whole point of VC is to save the user from knowing what they are doing with a particular backend. That being said, I am _constantly_ using "git rebase -i" in order to rewrite the history of a patch series I am preparing for submission or fixing. It turns out that this is a much more frequent command in my workflow than explicitly undoing the last commit ("git rebase -i" can be used to undo the last commit, but it also can be used for undoing or modifying any particular commit since the branch-off point). So for me, a keybinding for "git rebase -i" would be warranted. While one can naturally also do a lot of damage with "git rebase -i", every piece of damage one does with it relies on additional explicit actions, namely in edits to the task description (which defaults to "no change", either when you delete the whole task description or leave it completely unchanged) before it gets submitted. Mapping some generic "change history" command to "git rebase -i" when there is a "merge base" would include the ability to drop the last commit (just kill the last line in the task description). --=20 David Kastrup