Est-Ce Que Git-Svn Stocke Les Mots De Passe Svn?
J'utilise git-svn avec quelques projets de travail et j'ai remarqué que pour à peu près chaque action que je prends, je suis invité à entrer mon mot de passe Svn. Pour certaines actions, je suis invité plusieurs fois (probablement b / c il y a plusieurs actions en cours dans les coulisses). Par exemple, lors du clonage d'un référentiel, je suis invité 5 fois avant que le clonage ne commence réellement.
Les projets pour lesquels J'utilise Svn directement ne le font pas. Est-ce prévu? Y at-il quelque chose que je peux faire pour mettre en cache mon les informations d'identification?
Merci.
5 réponses
J'ai fini par devoir supprimer le répertoire auth tous ensemble et permettre à Subversion de le reconstruire pour moi. Rien d'autre ne semblait fonctionner. Pour tous ceux qui ne le savent pas, le répertoire auth est dans ~/.subversion (Mac / Linux).
J'ai eu un problème similaire à Sierra. svn
fonctionnait bien avec les informations d'identification stockées, mais git svn
n'utiliserait pas les informations d'identification stockées, et continuait à demander qu'elles soient saisies à nouveau.
La solution pour moi était de supprimer la clé stockée dans le trousseau, puis d'utiliser git svn
avant tout autre programme. Si git svn
était le programme pour stocker le mot de passe dans keychain, alors les autorisations ont été correctement définies. Une fois que git svn
avait été utilisé pour créer l'entrée dans le trousseau, alors normal svn
pouvait être utilisé, et autorisés à accéder à la clé créée par git svn
, à ce stade, ils utiliseraient tous les deux le référentiel sans aucun problème, et sans que je sois invité à entrer le mot de passe tout le temps.
Si un autre programme définissait le mot de passe dans le trousseau, ce programme n'avait aucun problème, mais git svn
ne serait pas autorisé.
Vous devriez demander à SVN de mettre en cache vos informations d'identification:
# $ svn update --username 'user2' --password 'password'
# user1@domain.com's password:
Cependant, comme mentionné dans la question SO Subversion ignorant les options "-password" et "-username" , Vérifiez ce qui vous demande exactement un mot de passe.
Peut-être une idée stupide, mais j'ai trouvé que git-svn
invitait à nouveau le mot de passe même après avoir réinitialisé l'entrée du trousseau. J'ai donc changé le contrôle d'accès pour cet élément afin que "toutes les applications" puissent y accéder. Semble fonctionner?
, j'ai eu un problème similaire. Au départ, j'étais sur un serveur centos distant essayant de récupérer toutes les branches svn distantes pour les pousser vers une origine propre en tant que vraies branches git pour une transition dure de svn à git via:
for remote in `git branch -r` ; do git checkout $remote; git pull; done
Où il y avait ~ 240-ish branches distantes. (Il n'y avait aucun moyen que j'allais mettre mon mot de passe pour chacune de ces tractions)
Ce que j'ai fini par faire, c'était de transférer le repo sur ma machine locale (un mac) et de permettre à keychain de gérer la mise en cache du mot de passe. J'ai tiré toutes les le svn valide local, puis copié mon repo sur la machine distante.