webentwicklung-frage-antwort-db.com.de

Kann ich in Subversion ein anderer Benutzer als mein Anmeldename sein?

Ich möchte wissen, wie ich Subversion bekomme, um den Namen zu ändern, unter dem meine Änderungen angezeigt werden.

Ich fange gerade an, Subversion zu verwenden. Ich verwende es derzeit zur Versionskontrolle auf einem XP Laptop, auf dem ich immer unter dem Namen meiner Frau angemeldet bin. Ich möchte, dass die Subversion-Datenbank die Änderungen unter meinem Namen anzeigt.

Später werde ich die DB replizieren, damit sie für das ganze Haus zugänglich ist. Meine Frau benutzt den Bürocomputer, auf dem sie immer unter meinem Namen angemeldet ist. Ich werde es wahrscheinlich so einrichten, dass es automatisch geänderte Dokumente eincheckt ... vorzugsweise unter ihrem Namen.

Irgendwann werde ich es wahrscheinlich von einem Linux-Rechner unter einem anderen Benutzernamen benutzen.

Gibt es eine Möglichkeit, die Benutzerumgebung zu ändern, um den von Subversion aufgerufenen Benutzernamen zu ändern? Ich würde so etwas wie das Setzen von SVN_USERNAME='Mark' Erwarten, das jedoch normalerweise den Namen überschreibt.

pdate: Es sieht so aus, als würde das --username - Flag, auf das Michael verwiesen hat, den von "svn stat" Angegebenen Namen ändern, auch für lokale Datei: Repositorys. Darüber hinaus ist es klebrig, sodass Sie es nicht für den nächsten Befehl angeben müssen. Ich habe sogar einen Neustart durchgeführt und es wurde immer noch der Wert "--username" Aus meinem vorherigen Start verwendet.

243
markets

Die meisten Subversion-Befehle verwenden die Zeichen --username Option, um den Benutzernamen anzugeben, den Sie für das Repository verwenden möchten. Subversion merkt sich den letzten in jeder Arbeitskopie verwendeten Repository-Benutzernamen und das zuletzt verwendete Passwort. Dies bedeutet unter anderem, dass bei Verwendung von svn checkout --username myuser Sie müssen den Benutzernamen nie wieder angeben.

Wie Kamil Kisiel sagt , wenn Subversion direkt über das Dateisystem auf das Repository zugreift (dh die Repository-URL hat die Form file:///path/to/repo oder file://file-server/path/to/repo) verwendet es Ihre Dateisystemberechtigungen, um auf das Repository zuzugreifen. Und wenn Sie Verbindung über SSH-Tunnel (svn+ssh://server/path/to/repo), SVN verwendet Ihre FS Berechtigungen auf dem Server , wie von Ihrem SSH-Login bestimmt. In diesen Fällen , svn checkout --username funktioniert möglicherweise nicht für Ihr Repository.

278

Für svn über ssh versuchen Sie:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn fordert Sie zur Eingabe des user_name Passwort.

70
aminalid

Sie können einen Standardbenutzernamen über ~/.Subversion/servers einrichten:

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

Bitte beachten Sie, dass ältere Versionen von svn dies nicht unterstützen (z. B. 1.3.1 [sic!]).

40
blueyed
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

Arbeitete für mich, wenn auf einem anderen Benutzerkonto. Sie werden jedoch aufgefordert, den Benutzernamen/das Passwort erneut einzugeben. Sie müssen sich wie oben beschrieben einmal anmelden und sind bereit für die folgenden Zeiten (es sei denn, Sie starten Ihren Computer neu).

34
chethan
12
Aaron Dancygier

Subversion fragt mich normalerweise nach meinem "Subversion-Benutzernamen", wenn dies mit meinem angemeldeten Benutzernamen fehlschlägt. Wenn ich (normalerweise) faul bin, lasse ich mich einfach nach meinem Passwort fragen und drücke die Eingabetaste, warte auf den Benutzernamen Prompt und verwende meinen Subversion-Benutzernamen.

Andernfalls ist Michaels Lösung eine gute Möglichkeit, den Benutzernamen direkt anzugeben.

11
Beau Simensen

Die meisten Antworten scheinen für svn + ssh zu sein oder für uns nicht zu funktionieren.

Für den http-Zugriff ist der einfachste Weg, einen SVN-Benutzer über die Befehlszeile abzumelden:

rm ~/.Subversion/auth/svn.simple/*

Hut Tipp: http://www.yolinux.com/TUTORIALS/Subversion.html

7
Danny Schoemann

Ich glaube, wenn Sie die Methode file: // verwenden, um auf Ihr Subversion-Repository zuzugreifen, werden Ihre Änderungen immer unter dem Benutzer durchgeführt, der auf das Repository zugreift. Sie müssen eine Methode verwenden, die die Authentifizierung unterstützt, z. B. http: // oder svn: //.

Siehe http://svnbook.red-bean.com/de/1.5/svn-book.html#svn.serverconfig.choosing

6
Kamil Kisiel

Verwenden von Subversion entweder mit dem Apache-Modul oder mit svnserve. Ich konnte Operationen mit --username Als mehrere Benutzer ausführen.

Jedes Mal, wenn Sie einen Subversion-Befehl als "neuer" Benutzer aufrufen, wird in Ihrem $HOME/.Subversion/auth/<authentication-method>/ - Verzeichnis ein neuer Eintrag für diesen Benutzer zwischengespeichert (vorausgesetzt, Sie können sich mit dem richtigen Kennwort oder der richtigen Authentifizierungsmethode für den Server authentifizieren, der Sie sind) Kontaktaufnahme als dieser bestimmte Benutzer).

6
Don Wakefield

Gehe zu ~/.Subversion/auth/svn.simple/*, und Sie sehen eine Liste der Dateien, die die Informationen zu Ihrem svn-Benutzerkonto enthalten. Löschen Sie einfach alle anderen, die Sie nicht benötigen.

Danach, wenn Sie irgendetwas tun, was den SVN-Betrieb betrifft, wie etwa commit, rm usw. Sie werden erneut aufgefordert, einen Benutzernamen oder ein Passwort einzugeben.

2
Alan Dong

Wenn Sie mit svn + ssh eine Verbindung zum Repository herstellen, sind Ihre ssh-Anmeldeinformationen das einzige, was Sie authentifiziert und autorisiert. ALLES andere wird ignoriert. Ihr Benutzername wird in Subversion genau so angemeldet, wie er in Ihrer SSH-Verbindung eingerichtet wurde. Eine ausgezeichnete Erklärung dafür finden Sie unter jimmyg.org/blog/2007/Subversion-over-svnssh-on-debian.html

2
codeMonster

TortoiseSVN fordert immer zur Eingabe des Benutzernamens auf. (es sei denn, Sie sagen es nicht zu)

0
recursive