emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Un-setting HGRCPATH in vc-hg.el problematic


From: Sascha Wilde
Subject: Re: Un-setting HGRCPATH in vc-hg.el problematic
Date: Sun, 01 Aug 2010 17:32:03 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi *,

sorry for the extreme late reply...

Anyway, I created a patch which hopefully resolves my issues while not
reintroducing any of the old ones.

Dan Nicolaescu <address@hidden> wrote:
> Sascha Wilde <address@hidden> writes:
[...]
> Setting HGRCPATH was the result of some discussion on the list (here or
> the bug list).
>
> We want to be able to reliably parse the results of hg log regardless
> of the users .hgrc settings.

In case my attached patch (re)creates any of the problems discussed back
then I would be grateful for a pointer to the thread in question.

>> So at the moment it looks as if the HGRCPATH='' can be simply removed!
>
> What happens if the user changes the format of hg log in her .hgrc ? 

I see only two possible ways how this could happen: alias definitions
(also redefining the original command name is discouraged) and default
definitions (currently repriced in favor for aliases).

My patch addresses them both...

>> But there might be some other reasons (Bug#5846 seems to indicate that)
>> besides the localization issue for trying to deactivate .hgrc files...

As said before: localization is orthogonal to hgrc.

And the problem described in the second part of Bug#5846 was really due
to the -- meanwhile fixed -- use of an abbreviated hg  command in
vc-hg-working-revision.

So all problems reported in Bug#5846 should stay fixed with my proposed
patch. 

Chong Yidong <address@hidden> wrote:
> Sascha Wilde <address@hidden> writes:
>> Maybe Chong Yidong knows some details, as he made the last changes to
>> the code in question?
>
> See Bug#5960.

Sorry, but neither does Bug#5960 mention hgrc nor does the related patch
include the hgrc related part.

So here is my patch, I successfully tested it with an "evil" hgrc
redefining 'log' and 'parents'.  It would be great if it could be
committed to get some wider testing...

changeset:   109607:955b39955186
branch:      wilde
tag:         tip
user:        Sascha Wilde <address@hidden>
date:        Sun Aug 01 17:27:24 2010 +0200
files:       lisp/ChangeLog lisp/vc/vc-hg.el
description:
Replaced setting HGRCPATH="" with selective --config options.


diff -r 4af5866a5568 -r 955b39955186 lisp/ChangeLog
--- a/lisp/ChangeLog    Sun Aug 01 06:37:41 2010 +0200
+++ b/lisp/ChangeLog    Sun Aug 01 17:27:24 2010 +0200
@@ -1,3 +1,8 @@
+2010-08-01  Sascha Wilde  <address@hidden>
+
+       * vc/vc-hg.el (vc-hg-state,vc-hg-working-revision): Replaced
+       setting HGRCPATH to "" by some less invasive --config options.
+
 2010-08-01  Chong Yidong  <address@hidden>
 
        * emacs-lisp/package.el (package--list-packages): Fix column
diff -r 4af5866a5568 -r 955b39955186 lisp/vc/vc-hg.el
--- a/lisp/vc/vc-hg.el  Sun Aug 01 06:37:41 2010 +0200
+++ b/lisp/vc/vc-hg.el  Sun Aug 01 17:27:24 2010 +0200
@@ -170,10 +170,12 @@
                      (let ((process-environment
                             ;; Avoid localization of messages so we
                             ;; can parse the output.
-                            (append (list "TERM=dumb" "LANGUAGE=C" "HGRCPATH=")
+                            (append (list "TERM=dumb" "LANGUAGE=C")
                                     process-environment)))
                        (process-file
                         "hg" nil t nil
+                        "--config" "alias.status=status"
+                        "--config" "defaults.status="
                         "status" "-A" (file-relative-name file)))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
@@ -198,7 +200,7 @@
       ((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" "HGRCPATH=")
+       (avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C")
                                     process-environment))
        (out
         (with-output-to-string
@@ -210,6 +212,8 @@
                        ;; Ignore all errors.
                        (process-file
                         "hg" nil t nil
+                        "--config" "alias.parents=parents"
+                        "--config" "defaults.parents="
                         "parents" "--template" "{rev}" (file-relative-name 
file)))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.

cheers
sascha
-- 
Sascha Wilde
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]