unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).