Delcypher wrote: > > What is the problem you are trying to solve? > The problem I was trying to solve is I wanted my authentication > details to be in a hgrc local to the repository. > > The problem is git-remote-hg will parse > ``.git/hg/origin/clone/.hg/hgrc`` but will ignore any settings in it > (this seems a little silly). > You can see that git-remote-hg parses this by placing invalid syntax > in the file. > > > Is there a way to test that this > > code is working correctly? > > The effects are much more obvious if you use a mercurial repository > that uses https and then you try to push to it with authentication > details in ``.git/hg/origin/clone/.hg/hgrc``. For example > > [auth] > cc.prefix = hg.codeplex.com > cc.username = USERNAME > cc.password = PASSWORD > cc.schemes = https > > pushing will fail because the authorisation details get completely > ignored and you will get an exception raised with a stack trace like > this... > > Traceback (most recent call last): > File "/home/dsl11/dev/git-remote-hg/git-remote-hg", line 1254, in <module> > sys.exit(main(sys.argv)) > File "/home/dsl11/dev/git-remote-hg/git-remote-hg", line 1238, in main > do_export(parser) > File "/home/dsl11/dev/git-remote-hg/git-remote-hg", line 1119, in do_export > if not push(parser.repo, peer, parsed_refs, p_revs): > File "/home/dsl11/dev/git-remote-hg/git-remote-hg", line 1007, in push > ret = push_unsafe(repo, remote, parsed_refs, p_revs) > File "/home/dsl11/dev/git-remote-hg/git-remote-hg", line 990, in push_unsafe > return remote.unbundle(cg, remoteheads, 'push') > File "/usr/lib/python2.7/site-packages/mercurial/wireproto.py", line > 308, in unbundle > ret, output = self._callpush("unbundle", cg, heads=heads) > File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line > 201, in _callpush > r = self._call(cmd, data=fp, headers=headers, **args) > File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line > 171, in _call > fp = self._callstream(cmd, **args) > File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line > 118, in _callstream > resp = self.urlopener.open(req) > File "/usr/lib/python2.7/urllib2.py", line 410, in open > response = meth(req, response) > File "/usr/lib/python2.7/urllib2.py", line 523, in http_response > 'http', request, response, code, msg, hdrs) > File "/usr/lib/python2.7/urllib2.py", line 442, in error > result = self._call_chain(*args) > File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain > result = func(*args) > File "/usr/lib/python2.7/urllib2.py", line 897, in http_error_401 > url, req, headers) > File "/usr/lib/python2.7/site-packages/mercurial/url.py", line 436, > in http_error_auth_reqed > self, auth_header, host, req, headers) > File "/usr/lib/python2.7/urllib2.py", line 872, in http_error_auth_reqed > response = self.retry_http_basic_auth(host, req, realm) > File "/usr/lib/python2.7/urllib2.py", line 878, in retry_http_basic_auth > user, pw = self.passwd.find_user_password(realm, host) > File "/usr/lib/python2.7/site-packages/mercurial/url.py", line 36, > in find_user_password > raise util.Abort(_('http authorization required')) > mercurial.error.Abort: http authorization required > > > However, if you don't have a repository to hand you could also do the > following to observe the settings in the repository's hgrc being > respected > > 1. Clone a repository > $ git clone hg::https://hg.codeplex.com/boogie > > 2. Add setting to ``.git/hg/origin/clone/.hg/hgrc`` > > [ui] > quiet = True > > 3. With the current of git-remote-hg, when you do a pull you see > > $ git pull > searching for changes > no changes found > Already up-to-date. > > You can see that "quiet" is **not** being respected. If use my patch > to git-remote-hg and run again you see > > > $ git pull > Already up-to-date. > > which shows "quiet" being respected. This is what I get: % git pull /tmp/boogie[master] nysa searching for changes no changes found Already up-to-date. % cat > .git/hg/origin/clone/.hg/hgrc <<EOF [ui] quiet = True EOF % git pull /tmp/boogie[master] nysa Already up-to-date. So clearly there is something different on my side. What version of Mercurial are you using? -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html