* patch for bug 7553: duplicate entries in vc-dir-mode (Windows) due to backslash from svn output
@ 2011-02-24 22:07 Vagn Johansen
2011-02-25 7:55 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: Vagn Johansen @ 2011-02-24 22:07 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 587 bytes --]
I reported bug 7663 some time ago:
#7663 23.2; duplicate entries in vc-dir-mode (Windows) due to
backslash from svn output
Here is a patch with a one line fix.
The subversion command svn.exe I use on windows output backslashes. In
all other places in vc-svn.el a call to expand-file-name causes these
to replaced with forward slashes.
The problem was that same file ends up appearing twice in the vc-dir
buffer.
2011-02-24 Vagn Johansen <vagn.johansen@gmail.com>
* vc/vc-svn.el (vc-svn-after-dir-status): Replace backslash
with forward slash in output from svn commmand.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: vc-svn-backslash-fix.diff --]
[-- Type: text/x-patch, Size: 648 bytes --]
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index 20c7689..2aa613d 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -174,7 +174,7 @@ If you want to force an empty list of arguments, use t."
(while (re-search-forward re nil t)
(let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
(propstat (cdr (assq (aref (match-string 2) 0) state-map)))
- (filename (match-string 4)))
+ (filename (replace-regexp-in-string "\\\\" "/" (match-string 4))))
(and (memq propstat '(conflict edited))
(not (eq state 'conflict)) ; conflict always wins
(setq state propstat))
[-- Attachment #3: Type: text/plain, Size: 19 bytes --]
--
Vagn Johansen
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: patch for bug 7553: duplicate entries in vc-dir-mode (Windows) due to backslash from svn output
2011-02-24 22:07 patch for bug 7553: duplicate entries in vc-dir-mode (Windows) due to backslash from svn output Vagn Johansen
@ 2011-02-25 7:55 ` Eli Zaretskii
2011-02-25 18:56 ` Vagn Johansen
0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2011-02-25 7:55 UTC (permalink / raw)
To: Vagn Johansen; +Cc: emacs-devel
> From: Vagn Johansen <gonz808@hotmail.com>
> Date: Thu, 24 Feb 2011 23:07:03 +0100
>
> I reported bug 7663 some time ago:
>
> #7663 23.2; duplicate entries in vc-dir-mode (Windows) due to
> backslash from svn output
>
> Here is a patch with a one line fix.
>
> The subversion command svn.exe I use on windows output backslashes. In
> all other places in vc-svn.el a call to expand-file-name causes these
> to replaced with forward slashes.
Thanks.
I think this replacement should be limited to MS-Windows and MS-DOS
systems, because on Posix platforms, the backslash is a valid
character in a file name.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: patch for bug 7553: duplicate entries in vc-dir-mode (Windows) due to backslash from svn output
2011-02-25 7:55 ` Eli Zaretskii
@ 2011-02-25 18:56 ` Vagn Johansen
0 siblings, 0 replies; 3+ messages in thread
From: Vagn Johansen @ 2011-02-25 18:56 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 271 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>
> Thanks.
>
> I think this replacement should be limited to MS-Windows and MS-DOS
> systems, because on Posix platforms, the backslash is a valid
> character in a file name.
>
This should do it. Tested on Windows 7 and Debian 6.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: vc-svn-backslash-fix-2.diff --]
[-- Type: text/x-patch, Size: 732 bytes --]
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index 20c7689..274c4a9 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -174,7 +174,10 @@ If you want to force an empty list of arguments, use t."
(while (re-search-forward re nil t)
(let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
(propstat (cdr (assq (aref (match-string 2) 0) state-map)))
- (filename (match-string 4)))
+ (filename
+ (if (memq system-type '(windows-nt ms-dos))
+ (replace-regexp-in-string "\\\\" "/" (match-string 4))
+ (match-string 4))))
(and (memq propstat '(conflict edited))
(not (eq state 'conflict)) ; conflict always wins
(setq state propstat))
[-- Attachment #3: Type: text/plain, Size: 19 bytes --]
--
Vagn Johansen
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-02-25 18:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-24 22:07 patch for bug 7553: duplicate entries in vc-dir-mode (Windows) due to backslash from svn output Vagn Johansen
2011-02-25 7:55 ` Eli Zaretskii
2011-02-25 18:56 ` Vagn Johansen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).