Comment puis-je obtenir hg pour demander mon HTTP auth nom d'utilisateur / mot de passe sur cygwin / windows?
À la maison, cela fonctionne parfaitement. Je suis sur un autre ordinateur (en utilisant cygwin) et hg push ne vous demandera pas d'un nom d'utilisateur /mot de passe:
user@localhost /cygdrive/d/repos/upthescala/viewprotect
$ hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
abort: http authorization required
Voici le contenu de mon ~/.hgrc:
[http_proxy]
host=someproxy:8080
[ui]
username = My Name <myemail>
Merci d'avance pour tout conseil!
Remarque: cela semble être un cygwin problème. Lorsque j'essaie de le prompt de Windows (cmd.exe), il fonctionne comme prévu:
D:\repos\upthescala\viewprotect>hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
http authorization required
realm: Google Code Mercurial Repository
user: myemailaddress
password: *********
remote: Success.
--
LES
Vous devez vous connecter pour publier un commentaire.
Cela pourrait être causé par l'utilisation d'une version de Mercurial associée à la console Windows sous-système. Le binaire distribué avec la Tortue tombe dans cette catégorie. Si c'est le cas, mercurial attend à utiliser la console sous-système de demande d'informations d'identification, mais il ne la trouve pas lorsque vous exécutez à partir du shell Cygwin. Dans mon cas, l'installation et l'utilisation de la version Cygwin d'mercurial résolu le problème, en plus de la fixation de la couleur de sortie. Pour vérifier quelle version vous utilisez, exécutez " qui hg (mais vous le saviez sûrement déjà).
À ajouter à Andrew commentaire:
Cela a également résolu le problème pour moi, mais il a causé un autre problème qui m'a pris un certain temps à comprendre. Lors de l'utilisation de la version Cygwin de hg, tous les fichiers qui avaient été cloné en vertu de TortoiseHG montré que modifié quand j'ai couru
hg status
, mais aucune différence n'a été montrée pour l'un d'eux quand j'ai couruhg diff
.Le problème était que les autorisations ne correspondent pas. L'exécution de
chmod 644 .* -R
dans chaque repo résolu ce problème.Puisque c'est HTTP, vous pouvez toujours mettre le nom d'utilisateur et mot de passe dans l'URL. Qui fonctionne sur n'importe quel site web en utilisant http auth et dans n'importe quel navigateur.
Alternativement, les nouvelles Mercurial versions ont une auth section vous pouvez utiliser.
BTW, c'est une terrible mot de passe. Vous devriez trouver quelque chose de mieux que de huit étoiles.