web-dev-qa-db-fra.com

Sous Subversion, puis-je être un utilisateur autre que mon nom d'utilisateur?

Je voudrais savoir comment obtenir Subversion pour changer 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 sur lequel je suis toujours connecté sous le nom de ma femme. J'aimerais que la base de données Subversion affiche les modifications sous mon nom.

Plus tard, je répliquerai la base de données pour 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 configurer pour qu'il vérifie automatiquement les documents modifiés ... de préférence sous son nom.

Finalement, je vais probablement l'utiliser depuis 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 la définition de SVN_USERNAME='Mark' qui remplacerait le nom.

pdate: Il ressemble à l'indicateur --username auquel Michael a fait référence fonctionne pour modifier le nom indiqué par "svn stat", même pour les référentiels 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 précédent démarrage.

243
markets

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 des derniers nom d'utilisateur et mot de passe du référentiel utilisés dans chaque copie de travail, ce qui signifie notamment que si vous utilisez svn checkout --username myuser, vous n'avez jamais besoin de spécifier à nouveau le nom d'utilisateur.

Comme le dit Kamil Kisiel , lorsque Subversion accède au référentiel directement 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), il utilise votre fichier. les autorisations système pour accéder au référentiel. Et lorsque vous connectez-vous 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 risque de ne pas fonctionner pour votre référentiel.

278

Pour svn over ssh, essayez:

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

svn vous demandera le mot de passe de user_name.

70
aminalid

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 la prennent pas en charge (par exemple 1.3.1 [sic!]).

40
blueyed
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

Travaillé pour moi quand sur un autre compte d'utilisateur. Cependant, vous serez invité à entrer votre nom d'utilisateur/mot de passe. Vous devez vous connecter comme ci-dessus une fois et vous êtes prêt pour les périodes ultérieures (à moins que vous ne redémarriez votre ordinateur).

34
chethan

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

 Hôte example.com 
 Utilisateur jdoe 
12
Aaron Dancygier

Subversion me demande généralement mon "nom d'utilisateur Subversion" s'il échoue avec mon nom d'utilisateur connecté. Ainsi, quand je suis paresseux (généralement), je le laisse simplement me demander mon mot de passe et je frappe en appuyant sur Entrée, puis attend le nom d'utilisateur Prompt et utilise mon nom d'utilisateur Subversion.

Sinon, la solution de Michael est un bon moyen de spécifier le nom d'utilisateur.

11
Beau Simensen

La plupart des réponses semblent être pour svn + ssh, ou ne semblent pas fonctionner pour nous.

Pour un accès http, le moyen le plus simple de déconnecter un utilisateur SVN de la ligne de commande est le suivant:

rm ~/.Subversion/auth/svn.simple/*

Astuce de chapeau: http://www.yolinux.com/TUTORIALS/Subversion.html

7
Danny Schoemann

Je crois que si vous utilisez la méthode file: // pour accéder à votre référentiel Subversion, vos modifications sont toujours effectuées sous l'utilisateur qui accède au référentiel. Vous devez utiliser une méthode prenant en charge l'authentification, telle que http: // ou svn: //.

Voir http://svnbook.red-bean.com/fr/1.5/svn-book.html#svn.serverconfig.choosing

6
Kamil Kisiel

Utilisation de Subversion avec le module Apache ou svnserve. J'ai pu effectuer des opérations en tant qu'utilisateurs multiples en utilisant --username.

Chaque fois que vous appelez une commande Subversion en tant que "nouvel" utilisateur, une nouvelle entrée sera mise en cache dans votre répertoire $HOME/.Subversion/auth/<authentication-method>/ pour cet utilisateur (en supposant que vous puissiez vous authentifier avec le mot de passe ou la méthode d'authentification corrects pour le serveur que vous contactez. en tant qu'utilisateur particulier).

6
Don Wakefield

Allez à ~/.Subversion/auth/svn.simple/*, et vous verrez une liste de fichiers contenant les informations sur votre compte utilisateur svn. Supprimez simplement tous les autres dont vous n’avez pas besoin.

Après cela, lorsque vous faites quelque chose qui concerne le fonctionnement du SVN, tel que commit, rm, etc. Vous serez invité à nouveau à entrer un nom d'utilisateur ou un mot de passe.

2
Alan Dong

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 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
codeMonster

TortoiseSVN demande toujours un nom d'utilisateur. (sauf si vous le dites pas)

0
recursive