1. Follow this link:
http://pypi.python.org/pypi/mercurial_keyring
It's not that clear, but here's the main point.
when the above link says... use myremote, that means, while doing hg clone
http://..../../repo1 <aliasname>
the aliasname MUST be given so that it'll checkout/clone your repo1 as "aliasname" given. then, there are 2 choices,
either update your local (instead of actual repository's .hg/hgrc file, NOTE this is different file that ~/.hgrc) --- or just update ~/.hgrc with the following lines
Quote:
[auth]
myremote.schemes = http https
myremote.prefix = ServerName/hg
myremote.username = c149807
|
1. NOTE NOTE:
1. While running "hg clone http://ServerName/some/hg/path/repos/Repository123" you have to provide another parameter, <aliasname> for the cloned "Repository123" folder/repository i.e.
hg clone
http://ServerName/some/hg/path/repos/Repository123 myremote
what the above command will do is.. it'll checkout/clone Repository123 as "myremote" on the folder location from where you ran the above command. NOBODY mentioned this in the MERCURIAL KEYRING documentation clearly.
Now,
change some file.
do: hg stat
do: hg commit -m "somecomments"
(if you dont do this and do hg out/push directly, you'll see an error "No changes found")
do: hg out
do: hg push
NOW, NO MORE Multiple prompts for user authentication by Mercurial LDAP authentication at the prompt or in TortoiseHg.
2. NOTE NOTE: Make sure whatever ServerName you use, either just
ServerName
or
ServerName.company.com
or
ServerName.domain.company.com
or
xx.xx.xx.xx
i.e. Server's IP, in the hg clone command, you have to make sure that the value you'll put in ~/.hgrc (home directory's .hgrc file, which is different than repository's local .hg/hgrc file)... should have the 2nd line (value for remote server) as the same value that you used during clone command 1st parameter (http://<servervalue>)
Quote:
[auth]
myremote.schemes = http https
myremote.prefix = ServerName/hg
myremote.username = c149807
|
or
Quote:
[auth]
myremote.schemes = http https
myremote.prefix = ServerName.company.com/hg
myremote.username = c149807
|
or
Quote:
[auth]
myremote.schemes = http https
myremote.prefix = ServerName.domain.company.com/hg
myremote.username = c149807
|
or
Quote:
[auth]
myremote.schemes = http https
myremote.prefix = xx.xx.xx.xx/hg
myremote.username = c149807
|
otherwise, MERCURIAL KEYRING extension won't work.
easy peasy !!