emacs-devel
[Top][All Lists]
Advanced

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

Re: vc-hg-rename-file does not expand the file name arguments


From: Jürgen A . Erhard
Subject: Re: vc-hg-rename-file does not expand the file name arguments
Date: Fri, 28 Dec 2012 16:10:50 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Jan 26, 2010 at 11:58:09AM +0800, Alex Harsanyi wrote:
> I believe there is a problem with the implementation of
> `vc-hg-rename-file`, in the call:  (vc-hg-command nil 0 new "mv" old),
> only the NEW parameter will be expanded using `expand-file-name`,
> because `vc-hg-command` treats it as a file. The OLD parameter is not
> expanded because it is treated as a flag.  The problem is that
> `vc-rename-file` will read a file name from he minibuffer and pass in
> a filename like "~/Projects/test-repo/file1.txt" to the function.
> This name is passed directly to the "hg" executable which will fail
> because the file does not exist (hg does not do file-name expansion
> internally).
> 
> For example, create the following mercurial repository:
> 
> $ mkdir ~/test-repo
> $ cd ~/test-repo
> $ hg init .
> $ echo Hello > ./file1.txt
> $ hg add file1.txt
> $ hg commit -m "File1 added"
> 
> Now, open file1.txt in Emacs, and try to rename it using "M-x
> vc-rename-file".  The rename will fail and the *vc* buffer will
> contain:
> 
> ~/test-repo/file1.txt: No such file or directory
> abort: no files to copy
> 
> I believe the simplest fix is to call `expand-file-name` on the file
> names before passing them to the "hg" command.
> 
> Based on the comment in the code, I think the same problem exists with
> the bzr backend as well.

Seems the bzr backend has been fixed.  Since it's the main Emacs repo,
that's not surprising.

Bump to get a fix in.

Grits, J

PS: Sorry for that earlier direct reply, Alex.



reply via email to

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