GNU bug report logs -
#5961
23.1 regression: vc-hg does not show 0 version number for 'added files
Previous Next
Reported by: Dan Nicolaescu <dann <at> gnu.org>
Date: Fri, 16 Apr 2010 20:08:02 UTC
Severity: normal
Done: Dan Nicolaescu <dann <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):
After this change:
Show working revision correctly for mercurial.
* vc-hg.el (vc-hg-working-revision): Use hg parent instead of
hg log as suggested by Alex Harsanyi <alexharsanyi <at> gmail.com>,
the mode-line show Hg@ instead of Hg <at> 0 for files in the VC 'added state. This is a regression from 23.1.
The problem is that the "hg parent " command does not distinguish
between the 'added and 'unregistered files.
Should the patch below go into the 23.2 branch?
=== modified file 'lisp/vc-hg.el'
--- lisp/vc-hg.el 2010-04-07 05:56:35 +0000
+++ lisp/vc-hg.el 2010-04-16 19:36:29 +0000
@@ -196,16 +196,16 @@ If nil, use the value of `vc-diff-switch
(let*
((status nil)
(default-directory (file-name-directory file))
+ ;; Avoid localization of messages so we can parse the output.
+ (avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
+ process-environment))
(out
(with-output-to-string
(with-current-buffer
standard-output
(setq status
(condition-case nil
- (let ((process-environment
- ;; Avoid localization of messages so we can parse the output.
- (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
- process-environment)))
+ (let ((process-environment avoid-local-env))
;; Ignore all errors.
(process-file
"hg" nil t nil
@@ -213,7 +213,21 @@ If nil, use the value of `vc-diff-switch
;; Some problem happened. E.g. We can't find an `hg'
;; executable.
(error nil)))))))
- (when (eq 0 status) out)))
+ (if (eq 0 status)
+ out
+ ;; Check if the file is in the 'added state, the above hg
+ ;; command does not distinguish between 'added and 'unregistered.
+ (setq status
+ (condition-case nil
+ (let ((process-environment avoid-local-env))
+ ;; Ignore all errors.
+ (process-file
+ "hg" nil nil nil
+ "log" "-l1" (file-relative-name file)))
+ ;; Some problem happened. E.g. We can't find an `hg'
+ ;; executable.
+ (error nil)))
+ (when (eq 0 status) "0"))))
;;; History functions
This bug report was last modified 15 years and 34 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.