264 votes

Dans Subversion, puis-je être un utilisateur autre que mon nom de connexion ?

J'aimerais savoir comment obtenir Subversion pour changer le nom sous lequel mes modifications apparaissent.

Je commence juste à utiliser Subversion . Je l'utilise actuellement pour contrôler la version du code sur un ordinateur portable XP où je suis toujours connecté sous le nom de ma femme. J'aimerais que la base de données subversion montre les changements sous mon nom.

Plus tard, je reproduirai le DB pour qu'il soit accessible à toute la maison. Ma femme utilise l'ordinateur du bureau où elle est toujours connectée sous mon nom. Je vais probablement le configurer pour qu'il vérifie automatiquement les documents modifiés... de préférence sous son nom.

Finalement, je l'utiliserai probablement à partir d'une machine linux sous un autre nom d'utilisateur.

Y a-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 définir SVN_USERNAME='Mark' ce qui remplacerait la façon dont il obtient habituellement le nom.

Mise à jour : On dirait que le --username auquel Michael a fait référence fonctionne pour changer le nom rapporté par "svn stat" même pour les dépôts de fichiers locaux. En outre, il est collant, de sorte que vous n'avez pas besoin de le spécifier pour la prochaine commande. J'ai même redémarré et il utilisait toujours la commande "--username" valeur de mon précédent démarrage.

288voto

Michael Ratanapintha Points 11957

La plupart des commandes de Subversion prennent l'option --username pour spécifier le nom d'utilisateur que vous voulez utiliser pour le référentiel. Subversion se souvient du dernier nom d'utilisateur et du dernier mot de passe du référentiel utilisés dans chaque copie de travail, ce qui signifie, entre autres, que si vous utilisez l'option svn checkout --username myuser vous n'aurez plus jamais besoin de spécifier le nom d'utilisateur.

Comme le dit Kamil Kisiel lorsque Subversion accède au référentiel directement à partir du système de fichiers (c'est-à-dire que l'URL du référentiel est de la forme file:///path/to/repo o file://file-server/path/to/repo ), il utilise les permissions de votre système de fichiers pour accéder au référentiel. Et lorsque vous se connecter via un tunnel SSH ( svn+ssh://server/path/to/repo ), SVN utilise les permissions de votre FS sur le fichier serveur comme déterminé par votre login SSH. Dans ce cas, svn checkout --username peut ne pas fonctionner pour votre référentiel.

0 votes

Merci pour cette réponse rapide. Le drapeau --username semble être très collant, même après un redémarrage. Et cela fonctionne bien sur mon référentiel file :.

75voto

aminalid Points 666

Pour svn par ssh, essayez :

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

svn vous demandera de saisir le user_name Le mot de passe de l'entreprise.

1 votes

Ne fonctionne pas avec des noms d'utilisateur comme : johndoe@example.com

4 votes

https://user_name@.../path n'a pas fonctionné pour moi (cygwin) mais --username fonctionne bien.

45voto

blueyed Points 7719

Vous pouvez configurer un nom d'utilisateur par défaut via ~/.subversion/servers :

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

Veuillez noter que les anciennes versions de svn ne le supportent pas (par exemple 1.3.1 [sic !]).

39voto

chethan Points 151
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

Cela a fonctionné pour moi sur un autre compte utilisateur. Il vous sera cependant demandé de saisir à nouveau le nom d'utilisateur et le mot de passe. Vous devez vous connecter comme indiqué ci-dessus une fois et vous êtes prêt pour les fois suivantes (sauf si vous redémarrez votre machine).

5 votes

Faites attention lorsque vous fournissez le mot de passe sur la ligne de commande. Toute personne qui peut voir la liste des processus sur la machine sera capable de voir le mot de passe dans la liste des processus. C'est très bien sur un système mono-utilisateur, mais moins bien sur un système multi-utilisateurs.

12voto

Aaron Dancygier Points 261

Si vous devez spécifier un nom d'utilisateur autre que votre utilisateur connecté pour l'utilisation de svn+ssh ajoutez simplement une entrée à votre fichier .ssh/config. :

Host example.com
User jdoe

0 votes

L'homme ssh_config vous dira tout à ce sujet. Je n'ai pas encore trouvé de moyen de rendre cette configuration dynamique (par exemple en fonction des variables d'environnement).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X