emacs-devel
[Top][All Lists]
Advanced

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

Re: Patch to make vc-hg.el work with remote files


From: Bernhard Herzog
Subject: Re: Patch to make vc-hg.el work with remote files
Date: Tue, 27 Oct 2009 13:01:24 +0100
User-agent: KMail/1.9.10 (enterprise35 20091010.1035632)

On 26.10.2009, Stefan Monnier wrote:
> > +                      (process-file
> > +                       "hg" nil t nil
> >                         "status" "-A" (file-name-nondirectory file))
>
> The canonical way to use process-file is to pass args of the form
> (file-relative-name).

Indeed.  Here's a new patch.

Regards,

    Bernhard


Index: lisp/vc-hg.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-hg.el,v
retrieving revision 1.104
diff -u -r1.104 vc-hg.el
--- lisp/vc-hg.el       19 Oct 2009 05:04:28 -0000      1.104
+++ lisp/vc-hg.el       26 Oct 2009 23:33:04 -0000
@@ -159,6 +159,7 @@
   "Hg-specific version of `vc-state'."
   (let*
       ((status nil)
+       (default-directory (file-name-directory file))
        (out
         (with-output-to-string
           (with-current-buffer
@@ -166,9 +167,9 @@
             (setq status
                   (condition-case nil
                       ;; Ignore all errors.
-                      (call-process
-                       "hg" nil t nil "--cwd" (file-name-directory file)
-                       "status" "-A" (file-name-nondirectory file))
+                      (process-file
+                       "hg" nil t nil
+                       "status" "-A" (file-relative-name file))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
                     (error nil)))))))
@@ -190,6 +191,7 @@
   "Hg-specific version of `vc-working-revision'."
   (let*
       ((status nil)
+       (default-directory (file-name-directory file))
        (out
         (with-output-to-string
           (with-current-buffer
@@ -197,9 +199,9 @@
             (setq status
                   (condition-case nil
                       ;; Ignore all errors.
-                      (call-process
-                       "hg" nil t nil "--cwd" (file-name-directory file)
-                       "log" "-l1" (file-name-nondirectory file))
+                      (process-file
+                       "hg" nil t nil
+                       "log" "-l1" (file-relative-name file))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
                     (error nil)))))))
@@ -286,7 +288,6 @@
       (setq oldvers working))
     (apply #'vc-hg-command (or buffer "*vc-diff*") nil
            (mapcar (lambda (file) (file-relative-name file cwd)) files)
-           "--cwd" cwd
            "diff"
            (append
             (vc-switches 'hg 'diff)




reply via email to

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