From unknown Tue Jun 17 20:18:32 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#908 <908@debbugs.gnu.org> To: bug#908 <908@debbugs.gnu.org> Subject: Status: Displaying renamed files in vc-dir for bzr is incorrect Reply-To: bug#908 <908@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:18:32 +0000 retitle 908 Displaying renamed files in vc-dir for bzr is incorrect reassign 908 emacs submitter 908 Dan Nicolaescu severity 908 normal thanks From dann@ics.uci.edu Sun Sep 7 03:47:36 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.7 required=4.0 tests=AWL,BAYES_00,FOURLA, MURPHY_DRUGS_REL8,RCVD_IN_DNSWL_LOW autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at submit) by emacsbugs.donarmstrong.com; 7 Sep 2008 10:47:36 +0000 Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m87AlWp4017938 for ; Sun, 7 Sep 2008 03:47:33 -0700 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KcHnn-0005n3-TV for bug-gnu-emacs@gnu.org; Sun, 07 Sep 2008 06:47:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KcHnj-0005eA-MN for bug-gnu-emacs@gnu.org; Sun, 07 Sep 2008 06:47:31 -0400 Received: from [199.232.76.173] (port=39643 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KcHnj-0005dh-GV for bug-gnu-emacs@gnu.org; Sun, 07 Sep 2008 06:47:27 -0400 Received: from sallyv1.ics.uci.edu ([128.195.1.109]:48882) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.60) (envelope-from ) id 1KcHnj-0006Yo-0y for bug-gnu-emacs@gnu.org; Sun, 07 Sep 2008 06:47:27 -0400 X-ICS-MailScanner-Watermark: 1221389175.23073@BxAv9H85EXQIoijumNQSAg Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by sallyv1.ics.uci.edu (8.13.7+Sun/8.13.7) with ESMTP id m87AkEQZ011895 for ; Sun, 7 Sep 2008 03:46:14 -0700 (PDT) Message-Id: <200809071046.m87AkEQZ011895@sallyv1.ics.uci.edu> From: Dan Nicolaescu To: bug-gnu-emacs Subject: Displaying renamed files in vc-dir for bzr is incorrect Lines: 114 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 07 Sep 2008 03:46:14 -0700 Sender: dann@ics.uci.edu X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.363, required 5, autolearn=disabled, ALL_TRUSTED -1.44, TW_BZ 0.08) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu X-detected-kernel: by monty-python.gnu.org: Solaris 10 (beta) When using Bzr, renamed files for are shown like this in vc-dir: nil OLD_NAME => NEW_NAME where `nil' is supposed to be the VC state and `OLD_NAME => NEW_NAME' is believed to be a file name... The patch below fixes this. Not sure if this is appropriate to check in now given the feature freeze, as the patch needs to add a feature in order to fix the bug. So record the fix here so that it does not get lost. * vc-bzr.el (vc-bzr-extra-fileinfo): New defstruct. (vc-bzr-status-printer): New function. (vc-bzr-after-dir-status): Deal with renamed files. Index: vc-bzr.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/vc-bzr.el,v retrieving revision 1.65 diff -u -3 -p -u -p -r1.65 vc-bzr.el --- vc-bzr.el 10 Aug 2008 19:48:57 -0000 1.65 +++ vc-bzr.el 7 Sep 2008 10:36:07 -0000 @@ -52,7 +52,8 @@ (eval-when-compile (require 'cl) - (require 'vc)) ; for vc-exec-after + (require 'vc) ; for vc-exec-after + (require 'vc-dir)) ;; Clear up the cache to force vc-call to check again and discover ;; new functions when we reload this file. @@ -576,6 +577,22 @@ stream. Standard error output is discar ;; else fall back to default vc.el representation (vc-default-prettify-state-info 'Bzr file))) +(defstruct (vc-bzr-extra-fileinfo + (:copier nil) + (:constructor vc-bzr-create-extra-fileinfo (extra-name)) + (:conc-name vc-bzr-extra-fileinfo->)) + extra-name) ;; original name for rename targets, new name for + +(defun vc-bzr-status-printer (info) + "Pretty-printer for the vc-dir-fileinfo structure." + (let ((extra (vc-dir-fileinfo->extra info))) + (vc-default-status-printer 'Bzr info) + (when extra + (insert (propertize + (format " (renamed from %s)" + (vc-bzr-extra-fileinfo->extra-name extra)) + 'face 'font-lock-comment-face))))) + ;; FIXME: this needs testing, it's probably incomplete. (defun vc-bzr-after-dir-status (update-function) (let ((status-str nil) @@ -589,6 +606,9 @@ stream. Standard error output is discar ;; For conflicts, should we list the .THIS/.BASE/.OTHER? ("C " . conflict) ("? " . unregistered) + ("? " . unregistered) + ;; No such state, but we need to distinguish this case. + ("R " . renamed) ;; Ignore "P " and "P." for pending patches. )) (translated nil) @@ -598,23 +618,31 @@ stream. Standard error output is discar (setq status-str (buffer-substring-no-properties (point) (+ (point) 3))) (setq translated (cdr (assoc status-str translation))) - ;; For conflicts the file appears twice in the listing: once - ;; with the M flag and once with the C flag, so take care not - ;; to add it twice to `result'. Ugly. - (if (eq translated 'conflict) - (let* ((file - (buffer-substring-no-properties - ;;For files with conflicts the format is: - ;;C Text conflict in FILENAME - ;; Bah. - (+ (point) 21) (line-end-position))) - (entry (assoc file result))) - (when entry - (setf (nth 1 entry) 'conflict))) + (cond + ((eq translated 'conflict) + ;; For conflicts the file appears twice in the listing: once + ;; with the M flag and once with the C flag, so take care + ;; not to add it twice to `result'. Ugly. + (let* ((file + (buffer-substring-no-properties + ;;For files with conflicts the format is: + ;;C Text conflict in FILENAME + ;; Bah. + (+ (point) 21) (line-end-position))) + (entry (assoc file result))) + (when entry + (setf (nth 1 entry) 'conflict)))) + ((eq translated 'renamed) + (re-search-forward "R \\(.*\\) => \\(.*\\)$" (line-end-position) t) + (let ((new-name (match-string 2)) + (old-name (match-string 1))) + (push (list new-name 'edited + (vc-bzr-create-extra-fileinfo old-name)) result))) + (t (push (list (buffer-substring-no-properties (+ (point) 4) (line-end-position)) - translated) result)) + translated) result))) (forward-line)) (funcall update-function result))) From cyd@stupidchicken.com Sun Sep 7 07:19:46 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.8 required=4.0 tests=AWL,BAYES_00, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 908) by emacsbugs.donarmstrong.com; 7 Sep 2008 14:19:47 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m87EJifl029126 for <908@emacsbugs.donarmstrong.com>; Sun, 7 Sep 2008 07:19:45 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id E680057E2BF; Sun, 7 Sep 2008 10:22:30 -0400 (EDT) From: Chong Yidong To: Dan Nicolaescu Cc: 908@debbugs.gnu.org Subject: Re: Displaying renamed files in vc-dir for bzr is incorrect Date: Sun, 07 Sep 2008 10:22:30 -0400 Message-ID: <87zlmkox21.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > When using Bzr, renamed files for are shown like this in vc-dir: > > nil OLD_NAME => NEW_NAME > > where `nil' is supposed to be the VC state and `OLD_NAME => NEW_NAME' is > believed to be a file name... > > The patch below fixes this. Not sure if this is appropriate to check in > now given the feature freeze, as the patch needs to add a feature in > order to fix the bug. So record the fix here so that it does not get > lost. Please do check in your patch, since it fixes a bug. From dann@ics.uci.edu Sun Sep 7 10:32:32 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-5.8 required=4.0 tests=AWL,BAYES_00,HAS_BUG_NUMBER, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 908) by emacsbugs.donarmstrong.com; 7 Sep 2008 17:32:32 +0000 Received: from sallyv1.ics.uci.edu (sallyv1.ics.uci.edu [128.195.1.109]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m87HWTVd000654 for <908@emacsbugs.donarmstrong.com>; Sun, 7 Sep 2008 10:32:30 -0700 X-ICS-MailScanner-Watermark: 1221413455.98033@6VTw8rvu0Wc6XsHjFIReGQ Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by sallyv1.ics.uci.edu (8.13.7+Sun/8.13.7) with ESMTP id m87HUsrb026529; Sun, 7 Sep 2008 10:30:54 -0700 (PDT) Message-Id: <200809071730.m87HUsrb026529@sallyv1.ics.uci.edu> From: Dan Nicolaescu To: Chong Yidong Cc: 908@debbugs.gnu.org Subject: Re: bug#908: Displaying renamed files in vc-dir for bzr is incorrect References: <87zlmkox21.fsf@cyd.mit.edu> In-Reply-To: <87zlmkox21.fsf@cyd.mit.edu> (Chong Yidong's message of "Sun, 07 Sep 2008 10:22:30 -0400") Lines: 17 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 07 Sep 2008 10:30:53 -0700 Sender: dann@ics.uci.edu X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.363, required 5, autolearn=disabled, ALL_TRUSTED -1.44, TW_BZ 0.08) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu Chong Yidong writes: > > When using Bzr, renamed files for are shown like this in vc-dir: > > > > nil OLD_NAME => NEW_NAME > > > > where `nil' is supposed to be the VC state and `OLD_NAME => NEW_NAME' is > > believed to be a file name... > > > > The patch below fixes this. Not sure if this is appropriate to check in > > now given the feature freeze, as the patch needs to add a feature in > > order to fix the bug. So record the fix here so that it does not get > > lost. > > Please do check in your patch, since it fixes a bug. Done. Thanks! From cyd@stupidchicken.com Sun Sep 7 11:51:04 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.8 required=4.0 tests=AWL,BAYES_00, VALID_BTS_CONTROL autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at control) by emacsbugs.donarmstrong.com; 7 Sep 2008 18:51:04 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m87Ip1iO028294 for ; Sun, 7 Sep 2008 11:51:02 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id 60AD757E354; Sun, 7 Sep 2008 14:53:49 -0400 (EDT) From: Chong Yidong To: control@debbugs.gnu.org Subject: close bug reports Date: Sun, 07 Sep 2008 14:53:49 -0400 Message-ID: <873akb948y.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii tags 330 moreinfo close 527 reassign 687 emacs,w32 reassign 716 emacs,w32 close 720 close 908 close 914 close 915 reassign 912 spam thanks From unknown Tue Jun 17 20:18:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: $requester Subject: Internal Control Message-Id: bug archived. Date: Mon, 06 Oct 2008 14:24:03 +0000 User-Agent: Fakemail v42.6.9 # A New Hope # A log time ago, in a galaxy far, far away # something happened. # # Magically this resulted in the following # action being taken, but this fake control # message doesn't tell you why it happened # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator