Changement de nom d'utilisateur dans SVN+SSH URI à la volée dans la copie de travail

Je suis en utilisant SVN+SSH pour extraire une copie de travail de référentiel à partir d'un serveur SVN sur lequel tous les développeurs sont membres d'un developer groupe et avoir plein autorisations de lecture/écriture sur le répertoire de dépôt et de métadonnées associées:

svn co svn+ssh://[email protected]/path/to/repository

Plusieurs développeurs de travailler sur la même copie de travail qui est vérifié en vertu d'un partagées compte shell (root). Parce que ce référentiel est utilisé pour la configuration de contrôle de révision, dans un environnement de production, c'est inévitable. Donner à chaque développeur d'un individu compte shell sur la machine cible (celui sur lequel la caisse est en train d'être fait) serait un moyen de résoudre ce problème, car alors ils peuvent avoir chacun leur propre copie de travail, mais malheureusement ce n'est pas acceptable ici.

Nous avons divers post-commit crochets qui envoient des e-mails détaillant s'engage, y compris le nom d'utilisateur de la personne qui a commis le changement.

Le problème est qu'une fois la copie de travail est vérifié avec un nom d'utilisateur à l'aide de la svn+ssh:// schéma d'URI, les validations et les mises à jour semblent aussi être fait sous ce nom d'utilisateur. Ce n'est pas viable pour deux raisons:

1) La personne qui a fait la caisse peut ne pas être la personne qui fait un commit maintenant, et nous avons besoin de la post-commit e-mails et autres post-commit crochets de savoir exactement qui a fait le commit, et

2) de toute évidence, un commit exige que la commission de l'utilisateur de connaître le mot de passe du compte de la personne qui a pris la caisse, l'utilisation de clés RSA pour l'authentification non interactive malgré ce que la raison n ° 1.

Est-il un moyen de faire passer dynamiquement le nom de la télécommande compte qui est utilisé pour l'authentification dans ce scénario?

J'ai fait quelques recherches et trouvé cette question auparavant:

Modification du nom d'utilisateur pour une Subversion s'engager sur svn+ssh

Malheureusement, la suggestion de la accepté de répondre (svn switch) ne fonctionne pas:

[root@db repo-directory]# svn switch svn+ssh://[email protected]/u/svc/repositories/repo-name
[email protected]'s password: 
svn: 'svn+ssh://[email protected]/u/svc/repositories/repo-name' is not the same
repository as 'svn+ssh://[email protected]/u/svc/repositories/repo-name'

Toutes les idées seraient grandement appréciés. Merci d'avance pour votre attention!

OriginalL'auteur Alex Balashov | 2009-11-09