Pushing to remote repository

Paul Boddie paul.boddie at biotek.uio.no
Thu Jun 9 06:09:22 CDT 2011


On 09/06/11 12:48, Maarten B. wrote:
>
> When I go to http://xx.xxx.xxx.xx/hg I see the repositories.
> That page has a ScriptAlias in apache that is directing the url to http://xx.xxx.xxx.xx/hg/hgweb.cgi.
> How can I push then to a specific repository when there are multiple repositories available?

You just reference them as a "subdirectory" of that URL. For example:

http://xx.xxx.xxx.xx/hg/myrepo

The ScriptAlias should make sure that hgweb.cgi never appears in any 
URLs: technically, it's not even published as such.

> Does this answer your question?

Yes, thanks! It looks likely that hg is deciding that the output from 
the server isn't appropriate and is falling back to static-http. Maybe 
you could try using verbose mode to see what is happening inside 
Mercurial. For example:

hg -v push http://xx.xxx.xxx.xx/hg/myrepo

You previously wrote the following:

"""
But I noticed some who used hgrc configuration files adding the line 
"push_ssl = false". I now use this hgrc configfile, placed it in the 
root of both repositories (local and remote), but it does not work.
"""

According to the Wiki documentation, any hgrc file controlling this will 
be on the server:

http://mercurial.selenic.com/wiki/PublishingRepositories#Allowing_push

I don't remember the resolution order of configuration files (and unless 
it's mentioned on the Wiki, it's tempting to make a concise page to 
avoid the repetition you see in that page above), but it's always worth 
remembering that the user running Apache is usually a separate user. 
Moreover, there can be "trust" issues:

http://mercurial.selenic.com/wiki/PublishingRepositories#Problems_with_trust_settings

It occurs to me that this should also be made a bit more prominent, too.

Paul


More information about the Mercurial mailing list