J'ai trouvé de nombreux exemples sur la façon de changer le nom d'utilisateur pour des révisions spécifiques, etc.
Mais ce dont j'ai besoin est la suivante: j'ai effectué une extraction avec les informations d'authentification d'un collègue et je dois les remplacer par mes informations d'authentification pour les prochains commits.
Je ne peux pas simplement passer à la caisse avec mes identifiants en raison des nombreux changements déjà effectués ...
Quelqu'un au courant de ça?
Vous pouvez changer d'utilisateur avec
Subversion 1.6 et versions antérieures:
svn switch --relocate protocol://currentUser@server/path protocol://newUser@server/path
Subversion 1.7 et versions ultérieures:
svn relocate protocol://currentUser@server/path protocol://newUser@server/path
Pour savoir quoi protocol://currentUser@server/path
est, cours
svn info
dans votre copie de travail.
Pour ce faire, le plus simple consiste à utiliser simplement l’option --username lors de votre prochaine commande ou validation. Par exemple:
svn commit --username newUser
ou
svn co --username newUser
Il sera ensuite mis en cache et sera utilisé comme nom d'utilisateur par défaut pour les commandes futures.
Voir aussi: Dans Subversion, puis-je être un utilisateur autre que mon nom d'utilisateur?
J'ai eu exactement le même problème et j'ai trouvé la solution Où le client SVN stocke-t-il les données d'authentification des utilisateurs? :
cd
à ~/.Subversion/auth/
.fgrep -l <yourworkmatesusernameORtheserverurl> */*
.(Pour Windows, les étapes sont analogues. Le répertoire auth
se trouve dans %APPDATA%\Subversion\
).
Notez que cela ne fonctionnera que pour les schémas d’accès SVN où le nom d’utilisateur fait partie de la connexion au serveur. Il n’est donc pas utile pour les référentiels auxquels on accède via file://
.
<< C'est très simple. Vous devriez juste exécuter
svn up --username newUserName
C'est ça. >>
Fonctionne parfaitement, juste un indice: cela peut être fait sur n’importe quelle commande svn, pas seulement la mise à jour.
Si votre protocole est http et que vous utilisez Subversion 1.7, vous pouvez changer d'utilisateur à tout moment en utilisant simplement l'option --username dans n'importe quelle commande.
Quand la méthode d'Ingo n'a pas fonctionné pour moi, c'est ce que j'ai trouvé qui a fonctionné.
Aller à Tortoise SVN --> Settings --> Saved Data
.
Il existe une option pour effacer les données d'authentification, cliquer sur le bouton effacer, et cela vous permettra de sélectionner la connexion pour laquelle vous voulez effacer l'ID utilisateur/pwd.
Après cela, toute activité de commande ou de mise à jour sera répétée pour l'ID utilisateur et le mot de passe.
De plus, pour ceux qui se sont rendus compte trop tard qu'ils avaient commis avec de mauvaises références, la solution (après le fait) est de changer l'auteur de cette révision: voir cette question
La syntaxe est la suivante:
svn propset --revprop -r (revision_number) svn:author (new username)
pour Win10, vous devez supprimer ce dossier et fermer/ouvrir votre IDE
C:\Utilisateurs\Utilisateur\AppData\Roaming\Subversion\auth
, également dans mes projets, aucun dossier ".Subversion", uniquement ".svn"
Basé sur solution d'Ingo Kegel , j'ai créé un "petit" script bash pour changer le nom d'utilisateur dans tous les sous-dossiers. Se souvenir de:
<NEW_USERNAME>
Par le nouveau nom d'utilisateur.<OLD_USERNAME>
Par le nom d'utilisateur actuel (si aucun nom d'utilisateur n'est actuellement défini, supprimez simplement <OLD_USERNAME>@
).Dans le code ci-dessous, la commande svn est uniquement imprimée (non exécutée). Pour que la commande svn soit exécutée, supprimez simplement le echo
et les espaces devant lui (juste au-dessus de popd
).
for d in */ ; \
do echo $d ; pushd $d ; \
url=$(svn info | grep "URL: svn") ; \
url=$(echo ${url#"URL: "}) ; \
newurl=$(echo $url | sed "s/svn+ssh:\/\/<OLD_USERNAME>@/svn+ssh:\/\/<NEW_USERNAME>@/") ; \
echo "Old url: "$url ; echo "New url: "$newurl ; \
echo svn relocate $url $newurl ; \
popd ; \
done
J'espère que vous le trouverez utile!
Je pense que vous pouvez créer votre propre branche (en utilisant vos propres informations d'identification) à partir du même tronc que la branche de votre collègue de travail, fusionner de la branche de votre collègue de travail à votre copie de travail, puis fusionner à partir de votre branche. Tout futur engagement devrait être marqué comme venant de vous.
Vous pouvez demander à votre collègue de créer un correctif qui regroupera toutes les modifications apportées dans un seul fichier que vous pourrez appliquer à votre propre extraction. Cela mettra à jour tous vos fichiers de manière appropriée et vous pourrez ensuite annuler les modifications de son côté et archiver les vôtres.