From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bernhard Herzog Newsgroups: gmane.emacs.devel Subject: Patch to make vc-hg.el work with remote files Date: Sun, 25 Oct 2009 18:56:03 +0100 Message-ID: <200910251856.04156.bernhard.herzog@intevation.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1256495069 26775 80.91.229.12 (25 Oct 2009 18:24:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Oct 2009 18:24:29 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 25 19:24:22 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N27lN-0006Wm-4L for ged-emacs-devel@m.gmane.org; Sun, 25 Oct 2009 19:24:21 +0100 Original-Received: from localhost ([127.0.0.1]:57183 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N27lM-0007un-Kd for ged-emacs-devel@m.gmane.org; Sun, 25 Oct 2009 14:24:20 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N27KC-0003lA-Fk for emacs-devel@gnu.org; Sun, 25 Oct 2009 13:56:16 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N27K6-0003hv-Gb for emacs-devel@gnu.org; Sun, 25 Oct 2009 13:56:14 -0400 Original-Received: from [199.232.76.173] (port=38131 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N27K6-0003hq-DJ for emacs-devel@gnu.org; Sun, 25 Oct 2009 13:56:10 -0400 Original-Received: from aktaia.intevation.org ([212.95.126.10]:41841 helo=kolab.intevation.de) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N27K5-0008CV-Ob for emacs-devel@gnu.org; Sun, 25 Oct 2009 13:56:10 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by kolab.intevation.de (Postfix) with ESMTP id 93F8E94D144 for ; Sun, 25 Oct 2009 18:56:06 +0100 (CET) X-Virus-Scanned: by amavisd-new at intevation.de Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by kolab.intevation.de (Postfix) with ESMTP id 0935894D145 for ; Sun, 25 Oct 2009 18:56:06 +0100 (CET) Original-Received: from thoe.hq.intevation.de (thoe.hq.intevation.de [192.168.11.35]) (Authenticated sender: bernhard.herzog@intevation.de) by kolab.intevation.de (Postfix) with ESMTP id EBE6C94D144 for ; Sun, 25 Oct 2009 18:56:05 +0100 (CET) User-Agent: KMail/1.9.10 (enterprise35 20090918.1030082) Content-Disposition: inline X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Sun, 25 Oct 2009 14:24:15 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116395 Archived-At: Hi, vc-hg.el doesn't work properly with remote files accessed via tramp. Emacs doesn't even recognize correctly whether files are managed by hg in those cases. The patch below fixes this for me. Regards, Bernhard Index: lisp/vc-hg.el =================================================================== RCS file: /sources/emacs/emacs/lisp/vc-hg.el,v retrieving revision 1.104 diff -c -u -r1.104 vc-hg.el --- lisp/vc-hg.el 19 Oct 2009 05:04:28 -0000 1.104 +++ lisp/vc-hg.el 25 Oct 2009 17:52:46 -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,8 +167,8 @@ (setq status (condition-case nil ;; Ignore all errors. - (call-process - "hg" nil t nil "--cwd" (file-name-directory file) + (process-file + "hg" nil t nil "status" "-A" (file-name-nondirectory file)) ;; Some problem happened. E.g. We can't find an `hg' ;; executable. @@ -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,8 +199,8 @@ (setq status (condition-case nil ;; Ignore all errors. - (call-process - "hg" nil t nil "--cwd" (file-name-directory file) + (process-file + "hg" nil t nil "log" "-l1" (file-name-nondirectory file)) ;; Some problem happened. E.g. We can't find an `hg' ;; executable. @@ -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)