Frage

Ich versuche, einen Weg zu finden, Zombie-Sperren unter Verwendung der Subversion Kommandozeilen-Tools zu entfernen. Das Endziel ist dies von einem Hook-Skript zu tun, aber ich habe nicht die Befehlszeile Gebrauch zu arbeiten in der Lage, wenn man nur einen physischen Repository-Pfad hat. (Mit svnadmin rmlocks scheint nur für Schlösser an der Arbeit, die in der HEAD-Revision vorhanden sein.)

Im Idealfall würde Ich mag, dies zu tun über den post-commit Hook-Skript der Kommandozeilen-Tools verwenden. (Ich bin mir bewusst, das Python-Skripts für diesen Zweck, aber wir würden es vorziehen, nicht Python für diesen einmaligen Gebrauch auf den Server zu installieren.) Wir sind ein .NET-Shop, so ein Werkzeug mit der SharpSvn Bibliothek zu schaffen ist auch ein Möglichkeit, aber die einzige Unlock-Fähigkeit scheint es in der SVNClient Klasse zu sein.

So ist es wirklich zwei Fragen: Gibt es eine Möglichkeit, diese Werkzeuge mit der Befehlszeile zu tun? Wenn nicht, gibt es eine Möglichkeit, es von SharpSvn zu tun? (Oder vielleicht eine andere Bibliothek?)

==-Update 3. Dezember 2012 ==

Ich habe dieses Problem vor kurzem nochmals zu besuchen habe und entdecken diese Frage immer noch Verkehr Zeichnung wird. Der Python-Skript in der ursprünglichen Frage und Don Antwort erwähnt ist seit umgezogen: http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/remove-zombie-locks.py (ich nehme an das ist, was die meisten Leute suchen.)

Ironischerweise, obwohl das Repository Linux bewegt hat, wir verwenden die C-Lösung.

War es hilfreich?

Lösung 2

Es sieht aus wie die Antwort lautet: „Du nicht, dass es von hier bekommen.“

  • svnadmin stellt eine Befehlszeile für Schlösser mit einem Repository-Pfad zu entfernen, aber es scheint nicht mit Zombie-Sperren zu arbeiten.
  • SharpSvn ist in erster Linie die clientseitige; es hat ein paar Methoden, um mit einem Repository-Pfad verbindet, aber die (pro Docs) ist vor allem für den Einsatz in der Unit-Tests der Bibliothek.

So den Python-Skript in C Umschreiben der Subversion-API-Bibliothek.

Andere Tipps

Es gibt eine Python Skript (referenzierten hier: http://subversion.tigris.org /ds/viewMessage.do?dsForumId=1065&dsMessageId=2369399 ). Ich würde, dass entweder verwenden oder zu .NET übersetzen, wenn Sie benötigt werden.

Wenn Sie den Repository-Pfad auf die gelöschte Datei kennen, den Zombie-gesperrt ist, ist es so einfach, dass ich es zuerst nicht glauben konnte:

svn unlock --force https://path/to/my/file

Das funktioniert auch wenn die gelöschte Datei wird (per Definition) gibt es nicht in den Kopf des Repository. Keine Peg-Revision erforderlich noch zulässig. Die force Option ist nur dann erforderlich, wenn das Schloss von einem anderen Benutzer ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top