2008-09-05 12 views

Antwort

15

Ja, es ist möglich.

TortoiseSVN und der Befehlszeilenclient svn teilen sich die gleichen Einstellungen in Ihrem Profilordner. So kann Kasse Sie einfach eine Version mit svn.exe:

$ svn co --username different_user_name file:///C:/path/to/your/repo 

... und Subversion wird gerne das zugehörige Benutzernamen für das Repository ersetzen. Neue Commits von TortoiseSVN verwenden dann immer diesen Benutzernamen, egal mit welchem ​​Programm Sie die neuen Checkouts machen.

Das Verfahren sollte mit TortoiseSVN 1.5.5 funktionieren. Wenn dies nicht der Fall ist, versuchen Sie zunächst, den Authentifizierungscache von svn zu leeren (%APPDATA%\Subversion\auth\svn.username).

+0

Ich habe dies mit TortoiseSVN 1.6.11 und SVN 1.6.13 versucht, und dann funktioniert es nicht. Also habe ich speziell für SVN-Transaktionen einen separaten Windows-Benutzer mit dem richtigen Benutzernamen angelegt (Freigabe des lokalen Sandbox-Ordners mit dem aktuellen Benutzer, der keine SVN-Transaktionen mehr ausführt). Der "generische" Benutzer führt schreibgeschützte SVN-Updates in einem separaten Verzeichnis aus (so kann er Schuldzuweisungen, Suchanfragen usw. vornehmen). SVN-Transaktionen beinhalten jetzt einen einfachen "Benutzer wechseln". –

0

Soweit ich weiß, bietet TortoiseSVN keine Möglichkeit, dies zu tun.

Vermutlich wird es nicht als großes Problem angesehen, da dateibasierter Zugriff für Multi-User-Szenarien nicht praktikabel ist und für Einzelbenutzer der Autorenname von geringerer Bedeutung ist.

Eine mögliche Problemumgehung wäre, einen anderen Windows-Benutzernamen mit dem gewünschten Autorennamen zu erstellen und eine Verbindung mit diesem herzustellen.

0

Ich habe noch nie svn auf einer Windows-Maschine gehostet, so ist dies ein Schuss in die Dunkelheit. Sie können möglicherweise einen neuen Windows-Benutzer erstellen und diesen Benutzer beim Browsen, Auschecken, Commit usw. angeben. Nehmen wir an, Sie möchten Änderungen als msznajder vornehmen. Erstellen Sie einen Benutzer mit diesem Namen in Windows und durchsuchen Sie dann das Repository mit dem Repo-Browser von TortoiseSVN und geben Sie den Benutzernamen in der URL an - etwa file:///[email protected]/some/file/path.

1

Eine andere mögliche Problemumgehung (aber ich bin NICHT befürworten es) ist eine clientseitige Hook-Skript vor dem Festschreiben zu verwenden, um den Benutzernamen zu ändern.

Hook-Skripts werden im Subversion-Buch behandelt, und lokale Hooks werden in "Client Side Hook Scripts" in der TortoiseSVN-Hilfe behandelt.

0

Ich schlage vor, ein post-commit-Hook-Einstellung (in Ihrem Repo Ordner Haken - kopieren Sie einfach die Post-Commit-hook.tmpl post-commit-hook.bat und entleeren [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo> [ 2]

[1] bereitgestellt SlikSVN oder ähnliches installiert ist, dh Command Svn Zugriff möglich ist)

[2] (oder .sh wenn auf Linux, mit dem #!/bin/bash Präambel) mit der gleicher Inhalt

+0

Muss hinzugefügt werden - manchmal wird es nicht in t-svn angezeigt, weil das Log-Caching verwendet wird, aber die Befehlszeile "svn log file: /// pfad/zu/repo" zeigt den geänderten Autor o.k. –

Verwandte Themen