2010-01-04 13 views
189

Y a-t-il un moyen de configurer TortoiseHg pour enregistrer mon mot de passe?Enregistrer le mot de passe dans TortoiseHg

J'ai un projet hébergé sur Google Code que j'accède en utilisant TortoiseHg. Chaque fois que je veux apporter des modifications à Google Code TortoiseHg me demande un nom d'utilisateur et un mot de passe. Google Code m'oblige à utiliser un mot de passe généré automatiquement, et il devient assez répétitif de le rechercher à chaque fois.

Répondre

71

Avertissement de sécurité

Bien que cette réponse est acceptée comme de 15/09/2017, il est pas une solution recommandée. Vous ne devriez jamais stocker vos mots de passe en texte brut. Utilisez plutôt l'extension mercurial_keyring. Voir another answer ici.


Vous pouvez modifier votre URL de diffusion en https://username:[email protected]/repo. Ceci est expliqué dans Google Code's et Mercurial's FAQ.

EDIT: Mercurial FAQ explique une autre façon de le faire:

Avec Mercurial 1.3, vous pouvez également ajouter une section auth à votre fichier hgrc:
 
[auth] 
example.prefix = https://hg.example.net/ 
example.username = foo 
example.password = bar 
+0

J'aurais dû savoir que ce serait une FAQ ... merci! –

+48

Ceci est une mauvaise réponse! Vous ne devriez jamais stocker des mots de passe en clair dans n'importe quel fichier ... !! L'autre option (avec plus de votes) en utilisant mercurial_keyring est la seule bonne chose à faire! –

+6

+1. Considérant que 'hg push' est non-destructif (vous pouvez toujours 'hg strip' changesets indésirables), pousser vers un dépôt distant n'est pas une opération hautement privilégiée. Pour cette raison, le stockage de mot de passe en clair est souvent parfaitement suffisant, tant que l'on est conscient des implications de sécurité. –

250

Les deux réponses existantes suggèrent stocker votre nom d'utilisateur et mot de passe non crypté dans texte brut, ce qui est un peu un non-non.

Vous devez utiliser l'extension Keyring à la place, car elle a été spécialement conçue pour enregistrer en toute sécurité les mots de passe d'authentification. Il est livré déjà livré avec TortoiseHg, donc tout ce que vous avez à faire est de l'activer en écrivant ce qui suit dans votre fichier Mercurial.ini:

[extensions] 
mercurial_keyring= 

Vous devrez également associer votre nom d'utilisateur avec la poussée URL en éditant votre fichier spécifique référentiel .hg \ hgrc comme dans l'exemple ci-dessous:

[paths] 
default = https://<your_username>@bitbucket.org/tortoisehg/thg 

Pour plus de détails sur l'association de votre nom d'utilisateur avec l'URL, consultez la section Repository Configuration (SMTP) de la page d'extension Keyring.

+2

J'ai juste essayé cette solution et cela a très bien fonctionné avec Windows 7. Très sympa! Merci! – mateuscb

+0

fonctionne bien pour moi - mais je pense que vous devez également inclure un nom d'utilisateur, soit sous un entête [auth], ou modifier le chemin vers le dépôt comme nom d'utilisateur @ hôte (selon le lien Keyring ci-dessus) –

+0

vous avez raison - Je vais mettre à jour ma réponse – Vlad

1

modifier simplement le fichier hgrc dans le répertoire .hg de votre référentiel local il ressemble à ceci:

[paths] 
default = https://name:[email protected]/hg/ 

nom est votre login Google Code sans le bit gmail/googlemail par exemple 'fredb' (pas fredb @ gmail.com), mot de passe est le mot de passe généré par Google, et yourproj est le nom de votre projet GC. Donc quelque chose comme:

default = https://fred:[email protected]/hg/ 
+11

Ne jamais stocker les mots de passe en texte brut. JAMAIS! Utilisez mercurial_keyring - TortoiseHG ne demande ensuite le mot de passe qu'une seule fois. –

+1

Ne jamais dire jamais :) Oui, la clé SSH est préférable à Keyring, Keyring est préférable au texte en clair, mais il existe différentes situations, vraiment. P.S. upvoted à la fois la réponse "keyring" et celui-ci. –

141

Trois étapes, regarder screenshot. Remarque: Ceci stocke votre mot de passe en texte clair.

enter image description here

+3

excellent ... travaillé comme un charme. Merci! – mujimu

+4

2 pouces pour l'explication visuelle, merci! – citykid

+37

il semble que cela stocke également le mot de passe en clair - si vous avez activé l'extension de trousseau de clés, puis le champ mot de passe devient désactivé – Vlad

-1

Cela fonctionne pour moi en utilisant SSH. Je sais que le mot de passe est dans le texte, mais ce n'est pas un problème dans ce projet. Vous devez modifier myUser et MyOPas pour vos informations d'identification et le chemin d'accès à: TortoisePlink.exe. Modifier le mercurial.ini

[reviewboard] 
password = myPass 
[ui] 
username = myUser 
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw myPass