2009-04-29 2 views
7

Wir verwenden Subversion, um unseren Code zu verfolgen. Als Teil des Buildprozesses werden einige AssemblyInfo.cs-Dateien vorübergehend vom Buildskript bearbeitet, und wenn der Build abgeschlossen ist, werden sie zurückgesetzt (auch vom Buildskript). Allerdings ist einer unserer Entwickler diese Nachricht erhalten, wenn der revert versucht wird:Subversion: Getting "Der Client ist zu alt", obwohl alle Entwickler die gleiche svn-Version

Der Client ist zu alt mit Arbeitskopie ‚den Pfad‘ zu arbeiten. Sie müssen einen neueren Subversion-Client erhalten, oder Downgrade dieser Arbeitskopie.

Wir alle laufen die gleiche Version von Subversion (1.5.1). Der einzige Unterschied zwischen den Entwickler-Setups besteht darin, dass der Benutzer, der das Problem hat, eine spätere Version von TortoiseSVN (1.6.0, im Gegensatz zu 1.5.x für die anderen) verwendet, und wir haben Subversion 1.5.1 die ganze Zeit über ausgeführt Repository hat existiert.

Haben Sie einen Hinweis auf das Problem?

+0

Teilen Sie die gleiche Arbeitskopie? Sein WC sollte sich mit seinem 1.6-Client als 1.6-WC freuen. – hometoast

Antwort

14

Immer, wenn ein Subversion-Client eine Arbeitskopie berührt, wird diese Arbeitskopie zunächst automatisch auf die Version aktualisiert.

TortoiseSVN wird dies getan haben, so dass die anderen Subversion-Clients die Arbeitskopie nicht zuverlässig lesen können.

Dies gilt für alle Subversion-Clients in allen Versionen (bisher). Commandline, Tortoise, Subklipse, Ankh, Rapidsvn - alle verhalten sich gleich.

Es gibt ein Python-Skript, um eine Arbeitskopie herunterzustufen, oder Sie können es einfach verwerfen und erneut mit einem neuen Checkout beginnen. Siehe compatibility section of the release notes.

Tortoise folgt im Allgemeinen der Hauptversionsnummer des verwendeten Subversion-Clients.

Edit:

In Ihrem Fall Sie verwenden 2-Clients - Schildkröte und die Commandline in dem Build-Skript. Das Build-Skript kann nicht funktionieren, bis es auf die neueste Version aktualisiert wurde.

Wir haben dieses Problem selbst.

+0

Aber in unserem Fall ist es umgekehrt; der einzige Kunde, der sich beschwert, ist derjenige mit der späteren Version. –

+0

Ist TortoiseSVN 1.6 sich beschweren, oder wird ein SVN-Client von demselben Benutzer mit TortoiseSVN 1.6 beschweren? –

+0

Macht nichts von meinem Kommentar; rückwärts denken. Sie haben vollkommen recht, dass zwei Kunden verwendet werden; sowohl ein Kommandozeilen-Client (1.5.1) als auch der in Tortoise (1.6.x). Ich bin mir ziemlich sicher, dass dies das Problem ist. –

3

TortoiseSVN 1.6 verwendet eine neuere Version des Subversion-Clients als 1.5. Das ist wahrscheinlich, was Ihren Fehler verursacht.

Eine andere Möglichkeit ist, dass das Erstellungsskript einen anderen Client verwendet.

+0

+1; überprüfen Sie im Allgemeinen immer die Version, die in Ihren aktuellen Subversion-Binärdateien, allen unterstützenden Tools (wie TortoiseSVN) und allen Plugins in Ihrer IDE verwendet wird, und stellen Sie sicher, dass Sie passende Versionen erhalten, bevor Sie etwas aufrüsten – Rob

+0

Danke dafür (wird untersucht) jetzt sofort). Ich denke, der Fehler könnte sein, dass der Benutzer angenommen hat, dass Tortoise den installierten SVN-Client einfach "einpackt". –

+0

guten Ruf auf die verschiedenen Werkzeuge verwendet werden. Der Versuch, mit (zum Beispiel) VisualSVN 1.5 zurückzukehren, wird nicht funktionieren, wenn Tortoise 1.6 + – hometoast

Verwandte Themen