[Top][All Lists]
[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.
- Re: vc-hg-rename-file does not expand the file name arguments,
Jürgen A . Erhard <=