Dans Subversion puis-je être un utilisateur autre que mon nom de connexion?
J'aimerais savoir comment faire pour que Subversion
change le nom sous lequel mes modifications apparaissent.
Je commence juste à utiliser Subversion
. Je l'utilise actuellement pour le code de contrôle de version sur un ordinateur portable XP où je suis toujours connecté sous le nom de ma femme. Je voudrais que la base de données subversion montre les changements sous mon nom.
Plus tard, je vais répliquer la base de données afin qu'elle soit accessible à toute la maison. Ma femme utilise l'ordinateur de bureau où elle est toujours connectée sous mon nom. Je vais probablement le mettre en place donc qu'il vérifie automatiquement dans les documents modifiés... de préférence, sous son nom.
Finalement, je vais probablement l'utiliser à partir d'une machine linux sous un autre nom d'utilisateur.
Existe-t-il un moyen de modifier l'environnement utilisateur pour changer le nom d'utilisateur que Subversion vous appelle? Je m'attendrais à quelque chose comme setting SVN_USERNAME='Mark'
qui remplacerait cependant il obtient généralement le nom.
Update: Il semble que le drapeau --username
auquel Michael a fait référence fonctionne pour changer le nom signalé par "svn stat"
, même pour les dépôts de fichiers locaux. De plus, il est collant, vous n'avez donc pas besoin de le spécifier pour la commande suivante. J'ai même redémarré et il utilisait toujours la valeur "--username"
de mon démarrage précédent.
13 réponses
La plupart des commandes Subversion utilisent l'option --username
pour spécifier le nom d'utilisateur que vous souhaitez utiliser dans le référentiel. Subversion se souvient du dernier nom d'utilisateur et mot de passe du référentiel utilisé dans chaque copie de travail, ce qui signifie, entre autres choses, que si vous utilisez svn checkout --username myuser
, vous n'avez plus besoin de spécifier le nom d'utilisateur.
Comme le dit Kamil Kisiel , lorsque Subversion accède directement au référentiel depuis le système de fichiers (c'est-à-dire que L'URL du référentiel est de la forme file:///path/to/repo
ou file://file-server/path/to/repo
), elle utilise votre fichier autorisations système pour accéder au référentiel. Et lorsque vous vous connectez via un tunnel SSH (svn+ssh://server/path/to/repo
), SVN utilise vos autorisations FS sur le serveur , tel que déterminé par votre connexion SSH. Dans ces cas, svn checkout --username
peut ne pas fonctionner pour votre référentiel.
Pour svn sur SSH essayez:
svn list svn+ssh://[user_name]@server_name/path_to_repo
Svn vous demandera le mot de passe du user_name
.
, Vous pouvez configurer un nom d'utilisateur par défaut via ~/.subversion / serveurs:
[groups]
yourgroupname = svn.example.com
[yourgroupname]
username = yourusername
Sachez que les anciennes versions de svn ne le supportent pas (par exemple 1.3.1 [sic!]).
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"
A fonctionné pour moi quand sur un autre compte d'utilisateur. Vous serez invité à entrer à nouveau le nom d'utilisateur/mot de passe. Vous devez vous connecter comme ci-dessus une fois et vous êtes tous définis pour les temps suivants(sauf si vous redémarrez votre machine).
Si vous devez spécifier un nom d'utilisateur autre que votre utilisateur connecté à utiliser avec svn+ssh juste ajouter une entrée à votre .fichier SSH / config :
Host example.com User jdoe
Subversion me demande généralement mon "nom D'utilisateur Subversion" s'il échoue à utiliser mon nom d'utilisateur connecté. Donc, quand je suis paresseux (habituellement) je vais juste le laisser me demander mon mot de passe et je vais appuyer sur Entrée, et attendre l'invite de nom d'utilisateur et utiliser mon nom D'utilisateur Subversion.
Sinon, la solution de Michael est un bon moyen de spécifier le nom d'utilisateur immédiatement.
La Plupart des réponses semblent être dans svn+ssh, ou ne semblent pas fonctionner pour nous.
Pour l'accès http, le moyen le plus simple de déconnecter un utilisateur SVN de la ligne de commande est:
rm ~/.subversion/auth/svn.simple/*
Chapeau pointe: http://www.yolinux.com/TUTORIALS/Subversion.html
Je crois que si vous utilisez la méthode file: / / pour accéder à votre dépôt subversion, vos modifications sont toujours effectuées sous l'utilisateur qui accède au dépôt. Vous devez utiliser une méthode qui prend en charge l'authentification telle que http: / / ou svn://.
Voir http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing
Utiliser Subversion avec le module Apache ou svnserve. J'ai été capable d'effectuer des opérations en tant que plusieurs utilisateurs en utilisant --username
.
Chaque fois que vous appelez une commande Subversion en tant que 'nouvel' utilisateur, votre répertoire $HOME/.subversion/auth/<authentication-method>/
aura une nouvelle entrée en cache pour cet utilisateur (en supposant que vous puissiez vous authentifier avec le mot de passe ou la méthode d'authentification correcte pour le serveur que vous contactez en tant qu'utilisateur particulier).
Si vous utilisez svn + ssh pour vous connecter au référentiel, la seule chose qui vous authentifie et vous autorise Est vos informations d'identification ssh. Tout le reste est ignoré. Votre nom d'Utilisateur sera connecté à subversion exactement comme il est établi dans votre connexion ssh. Une excellente explication de ceci est à jimmyg.org/blog/2007/subversion-over-svnssh-on-debian.html
Aller ~/.subversion/auth/svn.simple/*
, et vous verrez une liste de fichiers qui contient les informations sur votre svn compte d'utilisateur. Supprimez simplement tous les autres dont vous n'avez pas besoin.
Après cela, lorsque vous faites tout ce qui concerne L'opération SVN, comme commit, rm, etc,. Vous serez invité à nouveau à entrer le nom d'utilisateur ou les mots de passe.
TortoiseSVN demande toujours le nom d'utilisateur. (sauf si vous lui dites de ne pas le faire)
Je crois que vous pouvez définir la variable d'environnement SVN_USER
pour changer votre nom D'utilisateur SVN.