Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a central server for my Mercurial repositories. I just created a new repository on the server using hg init myrepo. The version of Mercurial on the server is 1.7.3.

From my client, I use hg clone http://myserver/myrepo. The version of Mercurial on my workstation is 1.7.5. On my client, I receive an error:

HTTP Error 500: requirement 'dotencode' not supported

From my brief Googling of this error message, my server and my client are both new enough to support the 'dotencode' requirement.

Is this just a red herring error message?

Other info: the server is Windows 2008R2 64-bit, the client is Windows 7.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

An excerpt from the HG wiki:

If an older Mercurial version tries to access a repository that was created by a newer Mercurial version, an error message like

abort: requirement 'dotencode' not supported!

may be displayed, which means the Mercurial version used to access that repository doesn't know how to interpret it, because accessing it would require knowledge about the 'dotencode' capability.

If such an error message appears, a newer Mercurial version must be used to access the repository or the repository must be converted to an older format understood by that version (by using 'hg clone --pull')

This does not sound relevant since your client version seems to be higher than the server one (I think you should double check this), but this recipe is worth trying anyway.

share|improve this answer
    
Sorry about the late acceptance of your answer...I'm a bit behind in my SO usage! I ended taking the 'cowards way out' and migrated from an internally hosted Mercurial server to using BitBucket, which I'm really happy with so far. –  David Montgomery Mar 29 '11 at 23:51

We don't really have any "red herring error messages" in Mercurial... :-)

The error is clear and it means that the version of Mercurial used on the server is too old to read the repository on disk. You already found the wiki page on the requires file.

Since you say the server is using version 1.7.2, then I think there must be another version installed in parallel on the server. (The version on the client is irrelevant here, you can mix any two versions when they interact over the network.)

I see you've migrated to Bitbucket, but if you hadn't, then my advice would be to search the server for a second installation of Mercurial. Searching for commands.py should find the one used by the webserver, and searching for library.zip should find the newer one used by TortoiseHg (assuming you used that to install it).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.