From unknown Fri Aug 08 19:15:29 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#33650 <33650@debbugs.gnu.org> To: bug#33650 <33650@debbugs.gnu.org> Subject: Status: 27.0.50; Root diffs between revisions Reply-To: bug#33650 <33650@debbugs.gnu.org> Date: Sat, 09 Aug 2025 02:15:29 +0000 retitle 33650 27.0.50; Root diffs between revisions reassign 33650 emacs submitter 33650 Juri Linkov severity 33650 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 06 17:32:41 2018 Received: (at submit) by debbugs.gnu.org; 6 Dec 2018 22:32:41 +0000 Received: from localhost ([127.0.0.1]:36102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gV2CG-0005eq-Ra for submit@debbugs.gnu.org; Thu, 06 Dec 2018 17:32:41 -0500 Received: from eggs.gnu.org ([208.118.235.92]:40719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gV2CF-0005eN-Hs for submit@debbugs.gnu.org; Thu, 06 Dec 2018 17:32:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gV2C9-0003CB-Gy for submit@debbugs.gnu.org; Thu, 06 Dec 2018 17:32:34 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54471) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gV2C9-0003Bz-Ba for submit@debbugs.gnu.org; Thu, 06 Dec 2018 17:32:33 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50317) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gV2C8-0004JX-CV for bug-gnu-emacs@gnu.org; Thu, 06 Dec 2018 17:32:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gV2C5-0003Ah-74 for bug-gnu-emacs@gnu.org; Thu, 06 Dec 2018 17:32:32 -0500 Received: from bonobo.maple.relay.mailchannels.net ([23.83.214.22]:26276) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gV2C4-000393-OS for bug-gnu-emacs@gnu.org; Thu, 06 Dec 2018 17:32:29 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id CC241124EC3 for ; Thu, 6 Dec 2018 22:32:26 +0000 (UTC) Received: from pdx1-sub0-mail-a68.g.dreamhost.com (unknown [100.96.19.74]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 6AE361248DD for ; Thu, 6 Dec 2018 22:32:26 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a68.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Thu, 06 Dec 2018 22:32:26 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Thoughtful-Drop: 1770699e5a62dfaa_1544135546610_2585954548 X-MC-Loop-Signature: 1544135546610:4002368647 X-MC-Ingress-Time: 1544135546610 Received: from pdx1-sub0-mail-a68.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a68.g.dreamhost.com (Postfix) with ESMTP id 1BBEC7FE3E for ; Thu, 6 Dec 2018 14:32:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to :subject:date:message-id:mime-version:content-type; s= linkov.net; bh=CAv9YdVUXWoXd7kBAkQ4G68bngU=; b=xmaCqauiy5qEDsCNN q86n3ZTLB/j3GScvGsCZOwR8JUBjnbhSoM3OgMjS/2R+9K1yCsWrjCDDip6uyTB9 QetoZW0M38bBZr9g7JBNwNiNvNjNruV9nIOUYDQAQ4ciXFqTmjDRvnB/ozOQ2//a d7gEh33Sf8v/gKD0tnylYtV0CU= Received: from mail.jurta.org (m91-129-103-7.cust.tele2.ee [91.129.103.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a68.g.dreamhost.com (Postfix) with ESMTPSA id 3A04D7FE3D for ; Thu, 6 Dec 2018 14:32:24 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a68 From: Juri Linkov To: bug-gnu-emacs@gnu.org Subject: 27.0.50; Root diffs between revisions Organization: LINKOV.NET Date: Thu, 06 Dec 2018 23:54:16 +0200 Message-ID: <87d0qe8gon.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: 0 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrudefjedgudeiudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffvufhofffkfgggtgesmhdtreertdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdefrdejnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtfedrjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegsuhhgqdhgnhhuqdgvmhgrtghssehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) --=-=-= Content-Type: text/plain A VC command that still doesn't allow using diff-mode automatically thus preventing proper fontification and all other related features is `vc-root-diff' with a prefix argument HISTORIC. It has such comment: ;; FIXME: this does not work right, `vc-version-diff' ends up ;; calling `vc-deduce-fileset' to find the files to diff, and ;; that's not what we want here, we want the diff for the VC root dir. This patch fixes this omission by implementing `vc-root-version-diff' that is able to compare two revisions even on separate branches from their roots: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-root-version-diff.patch diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index de43544864..74979e7381 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1827,6 +1827,28 @@ vc-version-diff (vc-diff-internal t (vc-deduce-fileset t) rev1 rev2 (called-interactively-p 'interactive))) +;;;###autoload +(defun vc-root-version-diff (_files rev1 rev2) + "Report diffs between revisions of the whole tree in the repository history." + (interactive (vc-diff-build-argument-list-internal)) + ;; This is a mix of `vc-root-diff' and `vc-version-diff' + (when (and (not rev1) rev2) + (error "Not a valid revision range")) + (let ((backend (vc-deduce-backend)) + (default-directory default-directory) + rootdir) + (if backend + (setq rootdir (vc-call-backend backend 'root default-directory)) + (setq rootdir (read-directory-name "Directory for VC root-diff: ")) + (setq backend (vc-responsible-backend rootdir)) + (if backend + (setq default-directory rootdir) + (error "Directory is not version controlled"))) + (let ((default-directory rootdir)) + (vc-diff-internal + t (list backend (list rootdir)) rev1 rev2 + (called-interactively-p 'interactive))))) + ;;;###autoload (defun vc-diff (&optional historic not-urgent) "Display diffs between file revisions. @@ -1900,10 +1922,8 @@ vc-root-diff saving the buffer." (interactive (list current-prefix-arg t)) (if historic - ;; FIXME: this does not work right, `vc-version-diff' ends up - ;; calling `vc-deduce-fileset' to find the files to diff, and - ;; that's not what we want here, we want the diff for the VC root dir. - (call-interactively 'vc-version-diff) + ;; We want the diff for the VC root dir. + (call-interactively 'vc-root-version-diff) (when buffer-file-name (vc-buffer-sync not-urgent)) (let ((backend (vc-deduce-backend)) (default-directory default-directory) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 07 01:41:55 2018 Received: (at 33650) by debbugs.gnu.org; 7 Dec 2018 06:41:55 +0000 Received: from localhost ([127.0.0.1]:36231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gV9ph-0007N4-Mw for submit@debbugs.gnu.org; Fri, 07 Dec 2018 01:41:55 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gV9pf-0007Mr-WB for 33650@debbugs.gnu.org; Fri, 07 Dec 2018 01:41:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gV9pX-0000SG-Gs for 33650@debbugs.gnu.org; Fri, 07 Dec 2018 01:41:46 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:32784) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gV9pX-0000S4-BK; Fri, 07 Dec 2018 01:41:43 -0500 Received: from [176.228.60.248] (port=3705 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gV9pW-00008j-T8; Fri, 07 Dec 2018 01:41:43 -0500 Date: Fri, 07 Dec 2018 08:41:44 +0200 Message-Id: <831s6t7s9j.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-reply-to: <87d0qe8gon.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 06 Dec 2018 23:54:16 +0200) Subject: Re: bug#33650: 27.0.50; Root diffs between revisions References: <87d0qe8gon.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Juri Linkov > Date: Thu, 06 Dec 2018 23:54:16 +0200 > > This patch fixes this omission by implementing `vc-root-version-diff' > that is able to compare two revisions even on separate branches from > their roots: Thanks. A few comments: > +(defun vc-root-version-diff (_files rev1 rev2) > + "Report diffs between revisions of the whole tree in the repository history." This doc string doesn't describe the arguments, and doesn't tell how those arguments are populated in interactive invocations. I also wonder what would this mean for a VCS such as CVS or RCS, where there's no meaning of a "tree revision". I'm guessing this is why the old code deduced files to diff. See also the description of vc-diff in the Emacs manual. Finally, we need documentation changes to go with this change of user-visible behavior. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 08 19:13:38 2018 Received: (at 33650) by debbugs.gnu.org; 9 Dec 2018 00:13:38 +0000 Received: from localhost ([127.0.0.1]:39027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gVmj4-0001Dd-0b for submit@debbugs.gnu.org; Sat, 08 Dec 2018 19:13:38 -0500 Received: from catfish.maple.relay.mailchannels.net ([23.83.214.32]:46884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gVmj2-0001DR-8j for 33650@debbugs.gnu.org; Sat, 08 Dec 2018 19:13:36 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 246683E3E77; Sun, 9 Dec 2018 00:13:35 +0000 (UTC) Received: from pdx1-sub0-mail-a20.g.dreamhost.com (unknown [100.96.35.77]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id C86153E3D3B; Sun, 9 Dec 2018 00:13:34 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a20.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sun, 09 Dec 2018 00:13:35 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Eyes-Harmony: 47f11fec2d0f1be6_1544314414938_902544820 X-MC-Loop-Signature: 1544314414938:34521423 X-MC-Ingress-Time: 1544314414937 Received: from pdx1-sub0-mail-a20.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a20.g.dreamhost.com (Postfix) with ESMTP id 63D5A80761; Sat, 8 Dec 2018 16:13:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=frb4cQcg/eq02AjhBaGiOE7T8/g=; b= ubyZYvQ7M2DXwTYvSzcKlBBHqNoBI5XJ4W8bV39UN37q6qBdAnWiOciMocJzOPIN qzhERbPlkW8ynxdbGuPyjrtYS1nLKYrnRH6Daq8489+LAmnk4ymaJlgNVPoLlA88 CZbCkc8osrtdBa8BnHytxrNRVz1WpdHhIpLjPiMhvDo= Received: from mail.jurta.org (m91-129-103-7.cust.tele2.ee [91.129.103.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a20.g.dreamhost.com (Postfix) with ESMTPSA id 02F9280760; Sat, 8 Dec 2018 16:13:32 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a20 From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#33650: 27.0.50; Root diffs between revisions Organization: LINKOV.NET References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> Date: Sun, 09 Dec 2018 01:32:47 +0200 In-Reply-To: <831s6t7s9j.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 07 Dec 2018 08:41:44 +0200") Message-ID: <87va431t6w.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrudeguddgudekfecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehmtderredtreejnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtfedrjeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdefrdejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepvghlihiisehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >> +(defun vc-root-version-diff (_files rev1 rev2) >> + "Report diffs between revisions of the whole tree in the repository= history." > > This doc string doesn't describe the arguments, and doesn't tell how > those arguments are populated in interactive invocations. I copied the doc string from `vc-version-diff' that doesn't describe its arguments. Now I fixed the doc string of `vc-version-diff' as well below= . > I also wonder what would this mean for a VCS such as CVS or RCS, where > there's no meaning of a "tree revision". I'm guessing this is why the > old code deduced files to diff. See also the description of vc-diff > in the Emacs manual. `vc-root-diff' is not applicable to VCS without tree revisions, and the manual says nothing about this. Maybe the manual should say this explicitly for `vc-root-diff' as it says it for `vc-print-root-log' in (info "(emacs) VC Change Log") =E2=80=98C-x v L=E2=80=99 (=E2=80=98vc-print-root-log=E2=80=99) disp= lays a =E2=80=98*vc-change-log*=E2=80=99 buffer showing the history of the entire version-controlled directory tree (RCS, SCCS, CVS, and SRC do not support this feature). > Finally, we need documentation changes to go with this change of > user-visible behavior. This feature is already documented in (info "(emacs) Old Revisions") =E2=80=98C-x v D=E2=80=99 Compare the entire working tree to the revision you started from (=E2=80=98vc-root-diff=E2=80=99). With a prefix argument, prompt = for two revisions and compare their trees. It didn't work as documented before properly implemented by the patch. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-root-version-diff.2.patch diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index dbbc3e2038..ba410dca0e 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1817,7 +1817,8 @@ vc-diff-build-argument-list-internal ;;;###autoload (defun vc-version-diff (_files rev1 rev2) - "Report diffs between revisions of the fileset in the repository history." + "Report diffs between revisions of the fileset in the repository history. +REV1 is an older revision, REV2 is a newer revision." (interactive (vc-diff-build-argument-list-internal)) ;; All that was just so we could do argument completion! (when (and (not rev1) rev2) @@ -1827,6 +1828,29 @@ vc-version-diff (vc-diff-internal t (vc-deduce-fileset t) rev1 rev2 (called-interactively-p 'interactive))) +;;;###autoload +(defun vc-root-version-diff (_files rev1 rev2) + "Report diffs between revisions of the whole tree in the repository history. +REV1 is an older revision, REV2 is a newer revision." + (interactive (vc-diff-build-argument-list-internal)) + ;; This is a mix of `vc-root-diff' and `vc-version-diff' + (when (and (not rev1) rev2) + (error "Not a valid revision range")) + (let ((backend (vc-deduce-backend)) + (default-directory default-directory) + rootdir) + (if backend + (setq rootdir (vc-call-backend backend 'root default-directory)) + (setq rootdir (read-directory-name "Directory for VC root-diff: ")) + (setq backend (vc-responsible-backend rootdir)) + (if backend + (setq default-directory rootdir) + (error "Directory is not version controlled"))) + (let ((default-directory rootdir)) + (vc-diff-internal + t (list backend (list rootdir)) rev1 rev2 + (called-interactively-p 'interactive))))) + ;;;###autoload (defun vc-diff (&optional historic not-urgent) "Display diffs between file revisions. @@ -1900,10 +1924,8 @@ vc-root-diff saving the buffer." (interactive (list current-prefix-arg t)) (if historic - ;; FIXME: this does not work right, `vc-version-diff' ends up - ;; calling `vc-deduce-fileset' to find the files to diff, and - ;; that's not what we want here, we want the diff for the VC root dir. - (call-interactively 'vc-version-diff) + ;; We want the diff for the VC root dir. + (call-interactively 'vc-root-version-diff) (when buffer-file-name (vc-buffer-sync not-urgent)) (let ((backend (vc-deduce-backend)) (default-directory default-directory) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 09 03:22:29 2018 Received: (at 33650) by debbugs.gnu.org; 9 Dec 2018 08:22:29 +0000 Received: from localhost ([127.0.0.1]:39187 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gVuM9-0005DJ-3S for submit@debbugs.gnu.org; Sun, 09 Dec 2018 03:22:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gVuM5-0005D5-Lc for 33650@debbugs.gnu.org; Sun, 09 Dec 2018 03:22:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gVuLx-0003XO-Db for 33650@debbugs.gnu.org; Sun, 09 Dec 2018 03:22:20 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:36533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gVuLx-0003XK-9S; Sun, 09 Dec 2018 03:22:17 -0500 Received: from [176.228.60.248] (port=2908 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gVuLw-0008Bu-SG; Sun, 09 Dec 2018 03:22:17 -0500 Date: Sun, 09 Dec 2018 10:22:01 +0200 Message-Id: <835zw33yae.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-reply-to: <87va431t6w.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 09 Dec 2018 01:32:47 +0200) Subject: Re: bug#33650: 27.0.50; Root diffs between revisions References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Juri Linkov > Cc: 33650@debbugs.gnu.org > Date: Sun, 09 Dec 2018 01:32:47 +0200 > > > I also wonder what would this mean for a VCS such as CVS or RCS, where > > there's no meaning of a "tree revision". I'm guessing this is why the > > old code deduced files to diff. See also the description of vc-diff > > in the Emacs manual. > > `vc-root-diff' is not applicable to VCS without tree revisions, and > the manual says nothing about this. Maybe the manual should say this > explicitly for `vc-root-diff' as it says it for `vc-print-root-log' > in (info "(emacs) VC Change Log") Yes, we should say that. > > Finally, we need documentation changes to go with this change of > > user-visible behavior. > > This feature is already documented in (info "(emacs) Old Revisions") > > ‘C-x v D’ > Compare the entire working tree to the revision you started from > (‘vc-root-diff’). With a prefix argument, prompt for two revisions > and compare their trees. > > It didn't work as documented before properly implemented by the patch. Isn't the result user-visible change in behavior? > (defun vc-version-diff (_files rev1 rev2) > - "Report diffs between revisions of the fileset in the repository history." > + "Report diffs between revisions of the fileset in the repository history. > +REV1 is an older revision, REV2 is a newer revision." We usually mention the arguments in the first line of the doc string. Something like this: Report diffs between revisions REV1 and REV2 in the repository history. I wonder whether "fileset" needs to be mentioned at all, given your changes. When does any "fileset" come into play here? > +(defun vc-root-version-diff (_files rev1 rev2) > + "Report diffs between revisions of the whole tree in the repository history. > +REV1 is an older revision, REV2 is a newer revision." Same here: please mention the arguments in the first sentence. > + (if backend > + (setq rootdir (vc-call-backend backend 'root default-directory)) There's a TAB at the beginning of this line which should be spaces. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 09 19:37:10 2018 Received: (at 33650) by debbugs.gnu.org; 10 Dec 2018 00:37:10 +0000 Received: from localhost ([127.0.0.1]:40441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gW9ZN-0004ar-OW for submit@debbugs.gnu.org; Sun, 09 Dec 2018 19:37:10 -0500 Received: from golden.birch.relay.mailchannels.net ([23.83.209.73]:35588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gW9ZL-0004ae-I7 for 33650@debbugs.gnu.org; Sun, 09 Dec 2018 19:37:08 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 3F2AB3E66B5; Mon, 10 Dec 2018 00:37:06 +0000 (UTC) Received: from pdx1-sub0-mail-a47.g.dreamhost.com (unknown [100.96.19.74]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id E9FAF3E36B1; Mon, 10 Dec 2018 00:37:05 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a47.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Mon, 10 Dec 2018 00:37:06 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Well-Made-Duck: 772b44e15e6c3829_1544402226055_629348416 X-MC-Loop-Signature: 1544402226055:3287583377 X-MC-Ingress-Time: 1544402226054 Received: from pdx1-sub0-mail-a47.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a47.g.dreamhost.com (Postfix) with ESMTP id A448A805B3; Sun, 9 Dec 2018 16:37:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=DJvTr1POs5UuAk2EWCTeiggEdt4=; b= ZJ4+xpxZhAlK4qJupc3auJrykAN9rfQufoSQWSqerK23hLF5Sy8uQHKBgi5Dk1xP 9/ED8IleFCRlEuEbQO3Xt0+Ws7nxIgg5vjZmunKRe5ib4J/gw/JNcEnouUbLIOqa +LvebpZ+BmbJz/PQjxJQEmi7koxliVMIp8zZXQyaR5A= Received: from mail.jurta.org (m91-129-96-177.cust.tele2.ee [91.129.96.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a47.g.dreamhost.com (Postfix) with ESMTPSA id 5BB44805B0; Sun, 9 Dec 2018 16:37:03 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a47 From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#33650: 27.0.50; Root diffs between revisions Organization: LINKOV.NET References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> Date: Mon, 10 Dec 2018 02:04:30 +0200 In-Reply-To: <835zw33yae.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 09 Dec 2018 10:22:01 +0200") Message-ID: <87efaqkzkp.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrudeggedgvdeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesmhdtreertderjeenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrdeliedrudejjeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrdeliedrudejjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegvlhhiiiesghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >> > Finally, we need documentation changes to go with this change of >> > user-visible behavior. >> >> This feature is already documented in (info "(emacs) Old Revisions") >> >> =E2=80=98C-x v D=E2=80=99 >> Compare the entire working tree to the revision you started fro= m >> (=E2=80=98vc-root-diff=E2=80=99). With a prefix argument, prom= pt for two revisions >> and compare their trees. >> >> It didn't work as documented before properly implemented by the patch. > > Isn't the result user-visible change in behavior? Yes, this fix changes user-visible behavior, so perhaps it should be mentioned in NEWS. >> (defun vc-version-diff (_files rev1 rev2) >> - "Report diffs between revisions of the fileset in the repository hi= story." >> + "Report diffs between revisions of the fileset in the repository hi= story. >> +REV1 is an older revision, REV2 is a newer revision." > > We usually mention the arguments in the first line of the doc string. > Something like this: > > Report diffs between revisions REV1 and REV2 in the repository histor= y. > > I wonder whether "fileset" needs to be mentioned at all, given your > changes. When does any "fileset" come into play here? "fileset" is essential to be mentioned in `vc-version-diff' whereas the text "in the repository history" is unnecessary. >> +(defun vc-root-version-diff (_files rev1 rev2) >> + "Report diffs between revisions of the whole tree in the repository= history. >> +REV1 is an older revision, REV2 is a newer revision." > > Same here: please mention the arguments in the first sentence. As "fileset" is essential for `vc-version-diff', "whole tree" is essential for `vc-root-version-diff': --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vc-root-version-diff.3.patch diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 4527c23d9e..e92db9e419 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -774,8 +774,7 @@ Old Revisions @item C-x v D Compare the entire working tree to the revision you started from -(@code{vc-root-diff}). With a prefix argument, prompt for two -revisions and compare their trees. +(@code{vc-root-diff}). @item C-x v ~ Prompt for a revision of the current file, and visit it in a separate @@ -829,7 +828,9 @@ Old Revisions it displays the changes in the entire current working tree (i.e., the working tree containing the current VC fileset). If you invoke this command from a Dired buffer, it applies to the working tree containing -the directory. +the directory. With a prefix argument, prompt for two revisions and +compare the entire version-controlled directory trees (RCS, SCCS, CVS, +and SRC do not support this feature). @vindex vc-diff-switches You can customize the @command{diff} options that @kbd{C-x v =} and @@ -963,6 +964,7 @@ VC Change Log Directory Mode}) or a Dired buffer (@pxref{Dired}), it applies to the file listed on the current line. +@kindex C-x v L @findex vc-print-root-log @findex log-view-toggle-entry-display @kbd{C-x v L} (@code{vc-print-root-log}) displays a diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index dbbc3e2038..5ff9f4d5be 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1817,7 +1817,7 @@ vc-diff-build-argument-list-internal ;;;###autoload (defun vc-version-diff (_files rev1 rev2) - "Report diffs between revisions of the fileset in the repository history." + "Report diffs between REV1 and REV2 revisions of the fileset." (interactive (vc-diff-build-argument-list-internal)) ;; All that was just so we could do argument completion! (when (and (not rev1) rev2) @@ -1827,6 +1827,28 @@ vc-version-diff (vc-diff-internal t (vc-deduce-fileset t) rev1 rev2 (called-interactively-p 'interactive))) +;;;###autoload +(defun vc-root-version-diff (_files rev1 rev2) + "Report diffs between REV1 and REV2 revisions of the whole tree." + (interactive (vc-diff-build-argument-list-internal)) + ;; This is a mix of `vc-root-diff' and `vc-version-diff' + (when (and (not rev1) rev2) + (error "Not a valid revision range")) + (let ((backend (vc-deduce-backend)) + (default-directory default-directory) + rootdir) + (if backend + (setq rootdir (vc-call-backend backend 'root default-directory)) + (setq rootdir (read-directory-name "Directory for VC root-diff: ")) + (setq backend (vc-responsible-backend rootdir)) + (if backend + (setq default-directory rootdir) + (error "Directory is not version controlled"))) + (let ((default-directory rootdir)) + (vc-diff-internal + t (list backend (list rootdir)) rev1 rev2 + (called-interactively-p 'interactive))))) + ;;;###autoload (defun vc-diff (&optional historic not-urgent) "Display diffs between file revisions. @@ -1900,10 +1922,8 @@ vc-root-diff saving the buffer." (interactive (list current-prefix-arg t)) (if historic - ;; FIXME: this does not work right, `vc-version-diff' ends up - ;; calling `vc-deduce-fileset' to find the files to diff, and - ;; that's not what we want here, we want the diff for the VC root dir. - (call-interactively 'vc-version-diff) + ;; We want the diff for the VC root dir. + (call-interactively 'vc-root-version-diff) (when buffer-file-name (vc-buffer-sync not-urgent)) (let ((backend (vc-deduce-backend)) (default-directory default-directory) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 09 19:59:20 2018 Received: (at 33650) by debbugs.gnu.org; 10 Dec 2018 00:59:20 +0000 Received: from localhost ([127.0.0.1]:40517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gW9up-0005DB-UL for submit@debbugs.gnu.org; Sun, 09 Dec 2018 19:59:20 -0500 Received: from mail-wr1-f48.google.com ([209.85.221.48]:41744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gW9uo-0005Cy-0K for 33650@debbugs.gnu.org; Sun, 09 Dec 2018 19:59:18 -0500 Received: by mail-wr1-f48.google.com with SMTP id x10so8769601wrs.8 for <33650@debbugs.gnu.org>; Sun, 09 Dec 2018 16:59:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=fRLAgsLvwsr/YCe3wtNCRvRMgbdRUUXUSGE9usf3xoU=; b=j15Yv9cWnUsotT+Aj8uoSE0Jn8FwXjn5sGY3ohB2odUPdNUFZWaWpzQnhkWg3MRTf0 rk9j5pEGkCnYKVV8wyR/A1s6Mbmv4y8/DKJpayrnGieToPtP145A0oIeDwm05Q8Vnd+g y0NcSGLqqSJdULB6WaliKvnzcT0X97q3zGKQv0WQl5o6nb7kEVhxddnwPI6ecHygjxdW A13BkKb+06dqoDkCWjCY/HVpouMQdtxZg7AMFe9UymPdOnt+tIHvTIxlie4rNrXO6LWi CR4AiFpMgDNZIarRMTveZBqZj4sMY1rp6GXgicdjAHaesERGpJ3tBoRD1Ppw4IizAHt9 h27Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=fRLAgsLvwsr/YCe3wtNCRvRMgbdRUUXUSGE9usf3xoU=; b=W57LnxWZEkjKj5nKbP4WIl48cAflnL2UdvQwT7Oe8kfsjI84ZCco/zuex5sdj2kdxn M5GJVxp2hlTZ4++M/LG4JYo6vu34OH9hdg8BAd0/bjCb9532n+2z6+G3Z8JCbLZTFW4G 8WMmpvpqN04K4B+2Fk/C/307XMeA7M8fT1lwE1NeyxAOzVqbRto7+HfQs4lQHJl0nZqU mennj09wnC/o/KIijR/MWnTnZ549GhjqNfLrJhI4iKKkROG/WIO6hR3x6fJvDtSoe7B/ ELt3zXUxXiOoffdvrrjjLYu0Kr2Ju6PLZgVFLly0a2Phdg8tPi79kknn7vaqzbGCepY1 7YxQ== X-Gm-Message-State: AA+aEWbgf1F+nr6qWSmrD0tIfaRHf7CqIpi+AhSJ7piLZZ8GVtpaJwIY 61WD3KeEudFHZ1sm0LoWvW9KjnnI X-Google-Smtp-Source: AFSGD/WwPo0Oa53uMI/y9gPLOQQRaseuo3NyLrGmHbVzYQsXWSuIy3jJqg5qdQqgBhtlSvat8HfkgA== X-Received: by 2002:a5d:470b:: with SMTP id y11mr8120291wrq.16.1544403551868; Sun, 09 Dec 2018 16:59:11 -0800 (PST) Received: from [192.168.1.3] ([185.105.174.23]) by smtp.googlemail.com with ESMTPSA id c9sm16661164wmh.27.2018.12.09.16.59.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 09 Dec 2018 16:59:10 -0800 (PST) Subject: Re: bug#33650: 27.0.50; Root diffs between revisions To: Juri Linkov , Eli Zaretskii References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> <87efaqkzkp.fsf@mail.linkov.net> From: Dmitry Gutov Message-ID: Date: Mon, 10 Dec 2018 02:59:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Thunderbird/64.0 MIME-Version: 1.0 In-Reply-To: <87efaqkzkp.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/) On 10.12.2018 2:04, Juri Linkov wrote: > @item C-x v D > Compare the entire working tree to the revision you started from > -(@code{vc-root-diff}). With a prefix argument, prompt for two > -revisions and compare their trees. > +(@code{vc-root-diff}). Why remove this part? Isn't it fixed in this patch? From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 10 01:29:29 2018 Received: (at 33650) by debbugs.gnu.org; 10 Dec 2018 06:29:29 +0000 Received: from localhost ([127.0.0.1]:40652 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWF4L-0005Ro-Cc for submit@debbugs.gnu.org; Mon, 10 Dec 2018 01:29:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43119) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWF4J-0005Rc-Ow for 33650@debbugs.gnu.org; Mon, 10 Dec 2018 01:29:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gWF4B-0006a2-I1 for 33650@debbugs.gnu.org; Mon, 10 Dec 2018 01:29:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58073) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gWF49-0006ZL-Mb; Mon, 10 Dec 2018 01:29:18 -0500 Received: from [176.228.60.248] (port=3827 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gWF48-0007xF-On; Mon, 10 Dec 2018 01:29:17 -0500 Date: Mon, 10 Dec 2018 08:29:04 +0200 Message-Id: <83d0q93nf3.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-reply-to: <87efaqkzkp.fsf@mail.linkov.net> (message from Juri Linkov on Mon, 10 Dec 2018 02:04:30 +0200) Subject: Re: bug#33650: 27.0.50; Root diffs between revisions References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> <87efaqkzkp.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Juri Linkov > Cc: 33650@debbugs.gnu.org > Date: Mon, 10 Dec 2018 02:04:30 +0200 > > >> It didn't work as documented before properly implemented by the patch. > > > > Isn't the result user-visible change in behavior? > > Yes, this fix changes user-visible behavior, so perhaps it should be > mentioned in NEWS. I think so too. > > I wonder whether "fileset" needs to be mentioned at all, given your > > changes. When does any "fileset" come into play here? > > "fileset" is essential to be mentioned in `vc-version-diff' > whereas the text "in the repository history" is unnecessary. > > >> +(defun vc-root-version-diff (_files rev1 rev2) > >> + "Report diffs between revisions of the whole tree in the repository history. > >> +REV1 is an older revision, REV2 is a newer revision." > > > > Same here: please mention the arguments in the first sentence. > > As "fileset" is essential for `vc-version-diff', > "whole tree" is essential for `vc-root-version-diff': OK, thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 10 01:31:10 2018 Received: (at 33650) by debbugs.gnu.org; 10 Dec 2018 06:31:10 +0000 Received: from localhost ([127.0.0.1]:40656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWF5x-0005aC-Pv for submit@debbugs.gnu.org; Mon, 10 Dec 2018 01:31:10 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWF5w-0005a0-U3 for 33650@debbugs.gnu.org; Mon, 10 Dec 2018 01:31:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gWF5m-0007Q3-GV for 33650@debbugs.gnu.org; Mon, 10 Dec 2018 01:31:01 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58116) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gWF5m-0007Pj-BD; Mon, 10 Dec 2018 01:30:58 -0500 Received: from [176.228.60.248] (port=3931 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gWF5k-0001yZ-HQ; Mon, 10 Dec 2018 01:30:58 -0500 Date: Mon, 10 Dec 2018 08:30:43 +0200 Message-Id: <83bm5t3ncc.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Gutov In-reply-to: (message from Dmitry Gutov on Mon, 10 Dec 2018 02:59:08 +0200) Subject: Re: bug#33650: 27.0.50; Root diffs between revisions References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> <87efaqkzkp.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > Cc: 33650@debbugs.gnu.org > From: Dmitry Gutov > Date: Mon, 10 Dec 2018 02:59:08 +0200 > > On 10.12.2018 2:04, Juri Linkov wrote: > > @item C-x v D > > Compare the entire working tree to the revision you started from > > -(@code{vc-root-diff}). With a prefix argument, prompt for two > > -revisions and compare their trees. > > +(@code{vc-root-diff}). > > Why remove this part? Isn't it fixed in this patch? The above is the short summary of the command. The longer description does mention this feature. So I think this is in line with our style in describing commands in the manual. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 10 18:57:15 2018 Received: (at 33650) by debbugs.gnu.org; 10 Dec 2018 23:57:15 +0000 Received: from localhost ([127.0.0.1]:42280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWVQI-0003fv-R6 for submit@debbugs.gnu.org; Mon, 10 Dec 2018 18:57:14 -0500 Received: from ladybird.maple.relay.mailchannels.net ([23.83.214.98]:44981) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWVQF-0003fi-Vh for 33650@debbugs.gnu.org; Mon, 10 Dec 2018 18:57:12 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 77D315E2C9C; Mon, 10 Dec 2018 23:57:10 +0000 (UTC) Received: from pdx1-sub0-mail-a60.g.dreamhost.com (unknown [100.96.29.126]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 3139A5E20B8; Mon, 10 Dec 2018 23:57:10 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a60.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Mon, 10 Dec 2018 23:57:10 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Trail-Plucky: 00dfea133387622c_1544486230342_954784418 X-MC-Loop-Signature: 1544486230342:1913276538 X-MC-Ingress-Time: 1544486230342 Received: from pdx1-sub0-mail-a60.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTP id C6F83805D5; Mon, 10 Dec 2018 15:57:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=cMF62M Nuk1rsokipmJqIrwtOjtQ=; b=gtEPzBfUOdGIhyYeUkMQrchFFwtleh4AuKedDO wAkuCfvWka111j31pD16Z45rKgsvxuB3b/gX6+h9WyvQGLM42Sh92XKaDmfgxJvU 4fHEO9kp72WybAoezLTWaRrGqxawN8ZWt/IglHpUuVBDzfueJSLs11NDSPc2ytS6 4zqSU= Received: from mail.jurta.org (m91-129-96-177.cust.tele2.ee [91.129.96.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTPSA id EDED5805E7; Mon, 10 Dec 2018 15:57:07 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a60 From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#33650: 27.0.50; Root diffs between revisions Organization: LINKOV.NET References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> <87efaqkzkp.fsf@mail.linkov.net> Date: Tue, 11 Dec 2018 01:55:00 +0200 In-Reply-To: (Dmitry Gutov's message of "Mon, 10 Dec 2018 02:59:08 +0200") Message-ID: <8736r5kkdn.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrudegiedgudeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgfgsehtkeertddtreejnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledrleeirddujeejnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledrleeirddujeejpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepughguhhtohhvseihrghnuggvgidrrhhunecuvehluhhsthgvrhfuihiivgeptd Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 33650 Cc: 33650@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> @item C-x v D >> Compare the entire working tree to the revision you started from >> -(@code{vc-root-diff}). With a prefix argument, prompt for two >> -revisions and compare their trees. >> +(@code{vc-root-diff}). > > Why remove this part? Isn't it fixed in this patch? For consistency with =E2=80=98C-x v L=E2=80=99 (=E2=80=98vc-print-root-lo= g=E2=80=99) whose prefix argument is described in the longer description in (info "(emacs) VC Change Log") But since you asked I looked closer and see that e.g. a prefix argument of =E2=80=98C-x v =3D=E2=80=99 is described in the short summary in the s= ame node (info "(emacs) Old Revisions") =E2=80=98C-x v =3D=E2=80=99 Compare the work files in the current VC fileset with the versions you started from (=E2=80=98vc-diff=E2=80=99). With a prefix argum= ent, prompt for two revisions of the current VC fileset and compare them. So I installed something better. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 10 18:57:19 2018 Received: (at 33650-done) by debbugs.gnu.org; 10 Dec 2018 23:57:19 +0000 Received: from localhost ([127.0.0.1]:42283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWVQN-0003gC-2c for submit@debbugs.gnu.org; Mon, 10 Dec 2018 18:57:19 -0500 Received: from lavender.maple.relay.mailchannels.net ([23.83.214.99]:37169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gWVQK-0003g3-Jh for 33650-done@debbugs.gnu.org; Mon, 10 Dec 2018 18:57:17 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 649FE12516B; Mon, 10 Dec 2018 23:57:15 +0000 (UTC) Received: from pdx1-sub0-mail-a60.g.dreamhost.com (unknown [100.96.36.160]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 150E012513A; Mon, 10 Dec 2018 23:57:15 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a60.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Mon, 10 Dec 2018 23:57:15 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Desert-Scare: 14da78cd4fe2324b_1544486235203_375724505 X-MC-Loop-Signature: 1544486235202:2193614616 X-MC-Ingress-Time: 1544486235202 Received: from pdx1-sub0-mail-a60.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTP id AAA1B805F1; Mon, 10 Dec 2018 15:57:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=scl1gAqUT/SVFkt1v3Jp7XDyrv4=; b= nURV6SWjhuDhXm0Sm+rj8H/fvY3ezh63KqSlXQsCDgGkDqa7OatrlHepxCQSzXjh HSJT6USrUFSK4Nu9Vi0jqt5AbpAYvdO9xYU27gH/8lQWfeFSMgcUgsxR1dzoccPN C4vyzRr6yP5Lm/A7331kAhYweqPp/xDMs63thfgyHa4= Received: from mail.jurta.org (m91-129-96-177.cust.tele2.ee [91.129.96.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTPSA id 566F8805F0; Mon, 10 Dec 2018 15:57:12 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a60 From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#33650: 27.0.50; Root diffs between revisions Organization: LINKOV.NET References: <87d0qe8gon.fsf@mail.linkov.net> <831s6t7s9j.fsf@gnu.org> <87va431t6w.fsf@mail.linkov.net> <835zw33yae.fsf@gnu.org> <87efaqkzkp.fsf@mail.linkov.net> <83d0q93nf3.fsf@gnu.org> Date: Tue, 11 Dec 2018 01:55:15 +0200 In-Reply-To: <83d0q93nf3.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 10 Dec 2018 08:29:04 +0200") Message-ID: <87zhtdj5ss.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrudegiedgudeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrdeliedrudejjeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrdeliedrudejjedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegvlhhiiiesghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 33650-done Cc: 33650-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> > Isn't the result user-visible change in behavior? >> >> Yes, this fix changes user-visible behavior, so perhaps it should be >> mentioned in NEWS. > > I think so too. > >> As "fileset" is essential for `vc-version-diff', >> "whole tree" is essential for `vc-root-version-diff': > > OK, thanks. Pushed to master and closed. From unknown Fri Aug 08 19:15:29 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 08 Jan 2019 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator