From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: RCS, again: another removed functionality: undo last-checkin Date: Wed, 23 Sep 2015 17:59:10 +0300 Message-ID: <5602BE3E.1050009@yandex.ru> 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> <56023A6C.3020302@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1443020391 9133 80.91.229.3 (23 Sep 2015 14:59:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 23 Sep 2015 14:59:51 +0000 (UTC) Cc: "Stephen J. Turnbull" , dak@gnu.org, eliz@gnu.org, rms@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 23 16:59:37 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 1ZelWC-0008Md-0C for ged-emacs-devel@m.gmane.org; Wed, 23 Sep 2015 16:59:36 +0200 Original-Received: from localhost ([::1]:48397 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZelWB-0005Jg-Fe for ged-emacs-devel@m.gmane.org; Wed, 23 Sep 2015 10:59:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZelVx-0005J6-5B for emacs-devel@gnu.org; Wed, 23 Sep 2015 10:59:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZelVs-0005Y0-5n for emacs-devel@gnu.org; Wed, 23 Sep 2015 10:59:21 -0400 Original-Received: from mail-wi0-x230.google.com ([2a00:1450:400c:c05::230]:37544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZelVr-0005Xo-V3; Wed, 23 Sep 2015 10:59:16 -0400 Original-Received: by wicfx3 with SMTP id fx3so73412741wic.0; Wed, 23 Sep 2015 07:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=GL+rSg3b/JppoP7+9x9i5+StaTIwXnXNPbfWU12gS0k=; b=w655gswz05IJesIL9iZtfaxeS8MUZeLGbpnlLCDLNo7ByKJe8685B6snTsETuiYclU B+GL4yV6UU+TMwkkRQ0kd+4pZ86wJ+xCj0fEFnOKvCUiOUNdCYNcUcoSrbbQEXlyVywK JpnMEvOYDEQqZv/JDXr6OhdvPS55z///yb5uI/L/dt+JD0gsbayF8Vn/S1TCnDCJ155b KL0lqqa1DQ/TJ+hOLMkUOHgxUme3/V6MF7gV8K2/EHi8JIwEcgR1KhU65jTs+++TnxrO k7J26Cy8T73icjWou9XBUOtJHuKyaly+nsOXSKAfzSUV5+7H0J1uok9FrFXEqKLvMVO4 ueGQ== X-Received: by 10.194.108.232 with SMTP id hn8mr36501767wjb.154.1443020354810; Wed, 23 Sep 2015 07:59:14 -0700 (PDT) Original-Received: from [10.9.0.103] (nat.webazilla.com. [78.140.128.228]) by smtp.googlemail.com with ESMTPSA id x7sm791824wia.10.2015.09.23.07.59.13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Sep 2015 07:59:14 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Thunderbird/41.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::230 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:190290 Archived-At: On 09/23/2015 04:26 PM, Stefan Monnier wrote: > The "revert" (which IIUC just installs a new change which undoes the > effect of some earlier change) can mostly be implemented in > a backend-independent way. Yep. But then it won't be the "rollback" command that's been requested. > But the "rollback" (which IIUC can destructively remove an previous > existing commit, I guess I'd call it "uncommit") is a lot more > problematic, since various backends support it in very different ways > with very different limitations. Ok, if you're sure about that. > Generalizing the "Amend:" support of > vc-git.el to other backends would probably cover 99% of the use cases. We'd have to see more opinions on this - e.g. the use cases for vc-uncommit and vc-amend that I can imagine would be slightly different. Regarding "Amend:", we might want to start with taking care of the main annoyance (IME): when there are no changes to files, I can't easily amend the current commit with the purpose of changing its message. How would handle that? Make `C-u C-x v v' ignore the 'up to date' status? Create a separate command for "amend"? > If you feel it's really important that user be able to delete a revision > from within Emacs, why not provide a vc-rcs-delete-commits command in > vc-rcs.el? I don't feel that anything related to RCS can be classified as "really important". It would be useful if it's implemented in modern backends. But rollback isn't hard to do by hand anyway. > That would be a lot simpler to implement and wouldn't force us > to come up with some weird pseudo-generic functionality that might end > up not even supporting 100% of RCS's use cases. Naturally: if the semantics are that different between RCS and Git, we shouldn't try to force both into something unnatural.