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.
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.
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.
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!]).
"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).
Wenn Sie für svn + ssh einen anderen Benutzernamen als Ihren angemeldeten Benutzer angeben müssen, fügen Sie einfach einen Eintrag zu Ihrer .ssh/config-Datei hinzu :
Host example.com Benutzer jdoe
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.
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/*
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
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).
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.
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
TortoiseSVN fordert immer zur Eingabe des Benutzernamens auf. (es sei denn, Sie sagen es nicht zu)