Hello,
svn mv corrupts (locks) the WC, if the WC is in root of Windows drive.
svn add also corrupts (locks) the WC.
svn cleanup does not repair the WC.
Reproduction script:
---------------------
# some setup work:
# ----------------
svnadmin create xx
svn co "file:///C:/Dokumente und Einstellungen/Test2/Desktop/svn/1/xx" yy
cd yy
echo "This is our WC." > a
svn add a
svn ci -m ""
svn up
subst F: "C:\Dokumente und Einstellungen\Test2\Desktop\svn\1"
subst G: "C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy"
F:
cd yy # not a in the root (in F:\yy)
type a # equvalent to "cat a" in UNIX
svn mv a b
svn ci -m ""
svn up # so far ok, works fine with subst
# now, reproduce the error:
# -------------------------
G: # now go to root (G:\)
type b # equvalent to "cat b" in UNIX
svn info
svn st -vu # still ok
svn mv b c # crashes (same with echo x>x; svn add x)
svn ci -m "" # crashes
svn cleanup # doesn't help
svn cleanup . # doesn't help
svn st -vu # WC still locked
Full console output follows:
----------------------------
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1>svnadmin create xx
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1>svn co "file:///C:/Dokumente und Einstellungen/Test2/Desktop/svn/1/xx" yy
Ausgecheckt, Revision 0.
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1>cd yy
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>echo "This is our WC." 1>a
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>svn add a
A a
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>svn ci -m ""
Hinzufügen a
Übertrage Daten .
Revision 1 übertragen.
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>svn up
Revision 1.
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>subst F: "C:\Dokumente und Einstellungen\Test2\Desktop\svn\1"
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>subst G: "C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy"
C:\Dokumente und Einstellungen\Test2\Desktop\svn\1\yy>F:
F:\>cd yy
F:\yy>type a
"This is our WC."
F:\yy>svn mv a b
A b
D a
F:\yy>svn ci -m ""
Lösche a
Hinzufügen b
Revision 2 übertragen.
F:\yy>svn up
Revision 2.
F:\yy>G:
G:\>type b
"This is our WC."
G:\>svn info
Pfad: .
URL: file:///C:/Dokumente%20und%20Einstellungen/Test2/Desktop/svn/1/xx
Basis des Projektarchivs: file:///C:/Dokumente%20und%20Einstellungen/Test2/Desktop/svn/1/xx
UUID des Projektarchivs: 208accd1-2ca1-7e4e-ac4b-e5383ea515f4
Revision: 2
Knotentyp: Verzeichnis
Plan: normal
Letzter Autor: Test2
Letzte geänderte Rev: 2
Letztes Änderungsdatum: 2010-11-07 11:35:49 +0100 (So, 07. Nov 2010)
G:\>svn st -vu
2 2 Test2 b
2 2 Test2 .
Status bezogen auf Revision: 2
G:\>svn mv b c
A c
D b
G:\>svn ci -m ""
Lösche g://b
Hinzufügen g://c
svn: Übertragen erfolgreich, aber andere Fehler folgen:
svn: Fehler beim Weiterschalten der Revisionen nach der Übertragung (Details folgen):
svn: In Verzeichnis »G:«
svn: »name«-Attribut fehlt im Log-Eintrag (Eintrag »rm« für Verzeichnis »G:«)
G:\>svn cleanup
svn: In Verzeichnis ».«
svn: »name«-Attribut fehlt im Log-Eintrag (Eintrag »rm« für Verzeichnis ».«)
G:\>svn cleanup .
svn: In Verzeichnis ».«
svn: »name«-Attribut fehlt im Log-Eintrag (Eintrag »rm« für Verzeichnis ».«)
G:\>svn st -vu
D * 2 2 Test2 b
A + * - ? ? c
L * 2 2 Test2 .
Status bezogen auf Revision: 3
Regards,
Paul.
Received on 2010-11-07 11:58:32 CET