Struggling with Mercurial and pushing to a remote server (using Apache on server)

Robert Wood robert.wood at apostrophe.co.uk
Thu Jan 23 18:25:52 UTC 2014



On 23/01/14 17:58, Matt Mackall wrote:
> On Thu, 2014-01-23 at 15:15 +0000, Robert Wood wrote:
>
>> hg push http://pi/hg/
>> pushing to http://pi/hg/
>> abort: 'http://pi/hg/' does not appear to be an hg repository:
>> ---%<--- (text/html; charset=ascii)
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
>> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
>> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
>> <head>
>> <link rel="icon" href="/hg/static/hgicon.png" type="image/png" />
>> <meta name="robots" content="index, nofollow" />
>> <link rel="stylesheet" href="/hg/static/style-paper.css" type="text/css" />
>> <script type="text/javascript" src="/hg/static/mercurial.js"></script>
>>
>> <title>Mercurial repositories index</title>
>
> This looks like a hint to visit this address in your web browser. You
> probably don't want to push to the "repositories index", but it might
> know where your repo is.
>

Sorry, I don't follow. I need far more explicit instructions. :-|

What might know where my repo is?

I thought I'd made a little more progress in that I changed my 
hgweb.config to have:

[collections]
/var/hg/repos = /var/hg/repos essentially copying this:

http://www.jeremyskinner.co.uk/mercurial-on-iis7/

Even though this is a Windows setup.

Then I created a new dummy project and pushed it to the server using HTTP

hg push http://pi/hg/var/repos

destination directory: repos
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

However, if I made changes to the local files and tried to push I got 
this error:

searching for changes
remote: ssl required
[command returned code 1 Thu Jan 23 17:58:09 2014]

So, I Googled that, created a hgrc file in the repository, but that made 
no difference even though I restarted Apache.

Now, having deleted and tried again I can't even repeat the first thing 
I got going. :~( Now I'm getting a server error 500. So, I'#m still 
going round in circles. :~(

I have to say I haven't really got a clear understanding on this 
hgweb.config and what it does. What would you put

[collections]
C:repositories = C:repositories

Or, in the Linux case, something like:

[collections]
repos/ = repos/

Or something else I'd seen:

[paths]
/ = /var/hg/repos/*


What do these paths and collections labels mean and do? Why do some of 
these instructions have one side of the equals sign the same as the 
other? I'm so confused!

Thanks,

Rob







More information about the Mercurial mailing list