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.

230
demandé sur Carrie Kendall 2009-01-02 02:41:25

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.

264
répondu Michael Ratanapintha 2017-07-31 08:27:42

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.

70
répondu aminalid 2017-04-28 15:12:27

, 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!]).

38
répondu blueyed 2011-11-30 17:49:36
"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).

31
répondu chethan 2012-08-27 07:43:52

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
12
répondu Aaron Dancygier 2012-07-04 02:16:34

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.

11
répondu Beau Simensen 2009-01-01 23:44:26

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

7
répondu Danny Schoemann 2013-04-11 06:57:20

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

6
répondu Kamil Kisiel 2009-01-01 23:47:25

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).

6
répondu Don Wakefield 2012-10-15 14:03:12

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

2
répondu codeMonster 2012-10-15 13:51:18

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.

2
répondu Alan Dong 2016-05-31 20:47:18

TortoiseSVN demande toujours le nom d'utilisateur. (sauf si vous lui dites de ne pas le faire)

0
répondu recursive 2009-01-02 00:26:04

Je crois que vous pouvez définir la variable d'environnement SVN_USER pour changer votre nom D'utilisateur SVN.

-3
répondu Sophie Alpert 2009-01-02 00:59:12