57 Stimmen

Subversion ignoriert die Optionen "--password" und "--username"

Wenn ich versuche, einen beliebigen svn-Befehl auszuführen und die --username et/ou --password Optionen, werde ich trotzdem nach meinem Passwort gefragt, und es wird immer versucht, meinen aktuellen Benutzer zu verwenden, anstatt den, der in --username . Weder --no-auth-cache noch --non-interactive irgendeine Auswirkung auf dies haben. Dies ist ein Problem, weil ich versuche, svn-Befehle von einem Skript aus aufzurufen, und ich kann nicht haben, dass es die Eingabeaufforderung zeigt.

Zum Beispiel, wenn Sie als Benutzer1 angemeldet sind:

# $ svn update --username 'user2' --password 'password'
# user1@domain.com's password: 

Andere Optionen funktionieren korrekt:

# $ svn --version --quiet
# 1.3.2

Warum fordert sie mich auf?
Und warum wird nach dem Passwort von Benutzer 1 gefragt und nicht nach dem von Benutzer 2?
Ich bin mir zu 99 % sicher, dass alle meine Berechtigungen korrekt eingestellt sind. Gibt es eine Konfigurationsoption für svn, die Kommandozeilenpasswörter ausschaltet?
Oder ist es etwas ganz anderes?

Ich verwende svn 1.3.2 (r19776) auf Fedora Core 5 (Bordeaux).


Hier ist eine Liste meiner Umgebungsvariablen (die sensiblen Informationen sind durchgestrichen). Keine davon scheint auf SVN zuzutreffen:

# HOSTNAME=XXXXXX
# TERM=xterm
# SHELL=/bin/sh
# HISTSIZE=1000
# KDE_NO_IPV6=1
# SSH_CLIENT=XXX.XXX.XXX.XXX XXXXX XX
# QTDIR=/usr/lib/qt-3.3
# QTINC=/usr/lib/qt-3.3/include
# SSH_TTY=/dev/pts/2
# USER=XXXXXX
# LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
# KDEDIR=/usr
# MAIL=/var/spool/mail/XXXXXX
# PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
# INPUTRC=/etc/inputrc
# PWD=/home/users/XXXXXX/my_repository
# KDE_IS_PRELINKED=1
# LANG=en_US.UTF-8
# SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
# SHLVL=1
# HOME=/home/users/XXXXXX
# LOGNAME=XXXXXX
# QTLIB=/usr/lib/qt-3.3/lib
# CVS_RSH=ssh
# SSH_CONNECTION=69.202.73.122 60998 216.7.19.47 22
# LESSOPEN=|/usr/bin/lesspipe.sh %s
# G_BROKEN_FILENAMES=1
# _=/bin/env
# OLDPWD=/home/users/XXXXXX

0 Stimmen

Ich kenne mich mit *nix-Shells nicht aus - aber verwenden Sie dort tatsächlich die einfachen Anführungszeichen? Müssten es nicht doppelte Anführungszeichen sein?

0 Stimmen

Gibt es vielleicht eine benutzerdefinierte Konfiguration in Ihrem $HOME/.subversion?

0voto

Znik Punkte 900

Schauen Sie in Ihr lokales svn Repo und schauen Sie in das Verzeichnis .svn . Dort gibt es Datei: Einträge und Sie werden Zeilen sehen, die mit: svn+ssh://

dies ist die erste Konfiguration, die mit svn checkout 'repo_source' oder svn co 'repo_source' vorgenommen wird

Wenn Sie dies ändern möchten, aktualisieren Sie am besten dieses Repository vollständig. aktualisieren/übertragen Sie, was Sie sollten, um die Arbeit zu sichern. entfernen Sie dann das komplette Verzeichnis und der letzte Schritt ist das Erstellen dieses Verzeichnisses mit svn co/checkout 'URI-for-main-repo' [optional lokales Verzeichnis zum Speichern]

sollten Sie die Verbindungsmethode zum Repo file:// svn+ssh:// http:// https:// oder eine andere wie in der Dokumentation beschrieben.

Danach verwenden Sie svn update/commit wie gewohnt.

Dieses Thema scheint nicht zum Thema zu gehören. Gehen Sie besser auf die Superuser-Seiten.

0voto

Andre Holzner Punkte 17531

Ich hatte ein ähnliches Problem, ich wollte einen anderen Benutzernamen für ein svn+ssh-Repository verwenden. Am Ende verwendete ich svn relocate (wie beschrieben in in dieser Antwort . In meinem Fall verwende ich svn 1.6.11 und habe Folgendes getan:

svn switch --relocate \
    svn+ssh://olduser@svnserver/path/to/repo \
    svn+ssh://newuser@svnserver/path/to/repo

donde svn+ssh://olduser@svnserver/path/to/repo finden Sie in der URL: Leitungsausgang von svn info Befehl. Dieser Befehl fragte mich nach dem Passwort von newuser .

Beachten Sie, dass diese Änderung dauerhaft ist, d.h. wenn Sie mit dieser Methode nur vorübergehend zum neuen Benutzernamen wechseln wollen, müssen Sie einen ähnlichen Befehl erneut nach svn update usw.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X