mercurial hg-git cannot push to github

Manuel Jacob me at manueljacob.de
Wed Nov 20 22:54:54 UTC 2019


On 2019-11-20 00:44, Paul Jackson wrote:
> I can't get mercurial to work with a git clone. Just doing the 
> following failed:
>  1. hg clone https://github.com/ThePythonicCow/rawscan.git rawscan
>  2. cd ./rawscan
>  3. hg push
> 
> That failed with:
> 
> pushing to https://github.com/ThePythonicCow/rawscan.gitabort: git
> remote error: unexpected http resp 401 for
> https://github.com/ThePythonicCow/rawscan.git/info/refs?service=git-receive-pack

Hg-git currently doesn’t support HTTP authorization. It broke when 
dulwich (the Git library used by hg-git) switched to urllib3.

This patch series re-adds partial support for HTTP authorization: 
https://groups.google.com/forum/#!topic/hg-git/Jmof9oZjF4A

After applying the patch series, you should be able to push to a Git 
repository when including username and password in the URL (with 
something like `hg push 
https://ThePythonicCow:yourpassword@github.com/ThePythonicCow/rawscan.git`).

Now with the improved hg-git maintainance situation I should resend my 
patch series. But before that I have to do a backlog of other things.

There’s a ticket for that already: 
https://bitbucket.org/durin42/hg-git/issues/275/no-https-authorization-user-password-after

(Sorry for sending you the mail twice. The first time, I forgot to 
include the mailing list.)

A workaround for the problem is to run `hg gexport`, go to the .hg/git 
"shadow repository" created by hg-git, and push from there using Git.

Probably it also works the other way around: go to .hg/git, pull from 
there using Git, go back to the Mercurial repository, and run `hg 
gimport`.



More information about the Mercurial mailing list