Question

Nous sommes test de conduite Mercurial au travail. Nous ne voulons pas avoir à entrer dans notre utilisateur / passer chaque fois que nous interagissons avec un dépôt, donc nous avons mis en place l'extension mercurial_keyring. Nous:

  • python installé 2.6.5 (32 ou 64 bits, selon le système)
  • setuptools installés (pour easy_install.exe)
  • easy_install keyring
  • easy_install mercurial_keyring

Et puis fait les changements appropriés à% userprofile% / Mercurial.ini dans la section [auth]. Il fonctionne très bien sur l'ordinateur de mon collègue (32bit xp sp3 le), mais il ne fonctionne pas sur ma machine (Windows 7 Ultimate 64 bits). A noter également, les setuptools ont dû être construit à partir de la source sur Windows 7 x64 (python setup.py bdist_wininst, puis exécutez le résultat setuptools-0.6c11.win-amd64.exe).

En utilisant simplement hg.exe de la Mercurial 1.5 installation binaire (le .msi), je reçois cette erreur quand je lance hg.exe:

  

*** a échoué à l'extension importer mercurial_keyring: Aucun module nommé   mercurial_keyring

J'ai essayé de changer ma Mercurial.ini, pour spécifier le chemin d'accès au fichier mercurial_keyring.py, au lieu d'avoir mercurial trouver (car il est dans le PYTHONPATH).

Ancien:

[extensions]
mercurial_keyring =

Nouveau:

[extensions] mercurial_keyring =
c:/mercurial/extensions/mercurial_keyring.py

Les changements d'erreur à:

  

Abandon: ne pouvait pas importer le module   keyring!

tout en fournissant le chemin aux travaux d'extension de mercurial_keyring, le module dépend toujours pas keyring se trouve.

Après une enquête plus approfondie, il semble que les extensions fonctionnent NO. Ils produisent tous l'erreur:

  

*** n'a pas réussi à importer l'extension [nom d'extension]: Aucun module nommé   [Nom du module]

Il semble que lors de l'exécution hg.exe, il ne connaît pas PYTHONPATH. J'ai essayé:

  • Python 2.6.5 32 bits
  • python 2.6.5 64 bits
  • Bâtiment Mercurial 1.5 de la source avec MinGW
  • Bâtiment Mercurial 1.5 de la source avec MSVC9
  • Utilisation hg.exe de 1,5 dist binaire (.msi)
  • Utilisation du hg.py dans c: \ Python26 \ scripts lors de la construction de la source
  • Diverses configurations en% userprofile% / Mercurial.ini
  • Utilisation setuptools (easy_install.exe) pour installer et porte-clefs mercurial_keyring
  • Porte-clefs de construction et mercurial_keyring de la source (python setup.py bdist_wininst)

Rien ne fonctionne. Le plus proche que j'ai est en utilisant hg.py lors de la construction de la source. Au moins ne me donne pas d'erreurs, et crée en réalité% userprofile% / wincrypto_pass.cfg quand je rentre dans mes lettres de créance. Mais sur les demandes ultérieures, il ne passe pas automatiquement les informations d'identification. Il me les demande à nouveau.

Il est intéressant, TortoiseHG est en utilisant le trousseau de clés. Je ne peux pas l'obtenir pour travailler sur la ligne de commande. Je pense que quelque chose se passe avec Windows 7 x64 qui empêche mercurial (hg.exe) de voir le PYTHONPATH, il ne trouve aucun des modules installés.

Quelqu'un at-il des extensions qui travaillent dans Win 7 x64? Plus précisément l'installation binaire de mercure (non hg.py)?

UPDATE J'ai trouvé un travail approprié autour pour l'instant. Depuis TortoiseHG fait travailler avec mercurial_keyring, je l'ai tout simplement changé ma configuration de PATH pour inclure le dossier tortoisehg, mais pas c: \ Mercurial. Maintenant, quand je tape « hg » à la ligne de commande, il utilise le hg.exe dans le dossier tortoisehg, qui fonctionne très bien. Tout de même, cela est encore un problème avec des extensions mercuriels sur Win 7 x64. Les réponses sont les bienvenus.

Était-ce utile?

La solution

répondre à ma propre question avec ma précédente mise à jour, car il n'y a pas d'autres encore preneurs.

solution appropriée: Depuis TortoiseHG fait travailler avec mercurial_keyring, j'ai simplement changé mon chemin à inclure le dossier tortoisehg et exclure c :\mercuriel. Maintenant, quand je tape « hg » à la ligne de commande, il utilise le hg.exe dans le dossier tortoisehg, qui fonctionne très bien avec le trousseau de clés.

Autres conseils

J'utilise:

  • sur Windows Server 2008 SP2 x86:
    • Python 2.6.5 x86
    • Mercurial 1.5.1 x86
    • TortoiseHg 1.0.1 x86
  • sur Windows Server 2008 R2:
    • Python 2.6.5 x86
    • Mercurial 1.5.1 x86
    • TortoiseHg 1.0.1 x64

Sur les deux configurations, toutes les extensions configurées sont chargées sans erreurs.

Tous les outils sont installés à l'aide des installateurs fournis sur leurs sites. Mercurial apparaît avant TortoiseHg dans PATH. J'utilise un fichier de configuration commun ~/.hgrc pour les outils et un fichier Mercurial.ini dans le dossier d'installation TortoiseHg qui charge seulement l'extension mercurial_keyring.

Sur la ligne de commande, je dois entrer le mot de passe à chaque fois qu'il est nécessaire, mais dans TortoiseHg les extensions de trousseaux il travaille pleinement.

De la page Extension sur le trousseau de clés wiki Mercurial:

  

Si vous êtes sous Windows, nous vous recommandons d'utiliser TortoiseHg. navires THG avec de Windows spécifique backends, trousseaux sans laquelle l'extension-keyring Mercurial ne peut pas fonctionner correctement sur Windows.

UPDATE http://asimilatorul.com/adapter/post/using-mercurial_keyring-extension-with-mercurial-on-windows/

Vous pouvez copier les fichiers requis à partir de TortoiseHg library.zip dans son Mercurial library.zip :

  • hgext \ mercurial_keyring.pyo
  • keyring__init __. Pyo
  • keyring \ backend.pyo
  • keyring \ core.pyo
  • win32_crypto.pyd

La page d'extension indique que TortoiseHG a quelques composants supplémentaires pour le faire fonctionner sur windows et qu'il ne fonctionne pas correctement sans eux. Cela ressemble à la solution de contournement de référencement la version TortoiseHG peut être la meilleure façon de le faire fonctionner sur Windows.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top