Completely baffled

Liam Routt liam.routt at mediasaints.com
Mon Dec 5 00:19:32 UTC 2011


We adopted Mercurial a couple of weeks back, to see us through to the 
delivery of our project (today). We are using TortoiseHg 2.2 on a 
variety of machines, and a server running the equivalent Mercurial 2.0. 
We have many largefiles in our projects, which were converted from bzr 
and then converted using lgconvert with a pattern which seemed to 
correctly have identified all the files we intended.

We're finding that many of the machines in the office are not 
up-to-date, even after we do a pull followed by an update (which the GUI 
allows us to force).

Our configuration is roughly CVS-like:


                    Server (linux)
                         |
        +----------+-----+--------+----------+
        |          |              |          |
    Win client  Win client    Win client  Win client

Each of the clients is making changes to their workspace and 
occasionally doing a commit followed by a push to the server. In order 
to avoid multiple heads, we are trying to do a synchronize (pull + 
update) before doing the commit. We have a precommit hook which warns us 
if there are incoming changes when we try to do a commit, prompting us 
to do a pull and update.

Perhaps all of this works. It acts as though it does.

I've previously mentioned that I was experiencing situations where doing 
a pull + update was removing entries from a commit - ie. we are in the 
process of doing a commit which has a number of files (largefiles) in 
it, when we do the pull + update some of the files (largefiles) are no 
longer listed in the commit, and as far as I can tell are unable to be 
commited and pushed on to the repository.

That was the only problem I thought we had, but now we are realizing 
that several of the clients do not have the most recent files in their 
workspaces, after doing a pull + update. These are clients who have not 
changed these files locally. There are no pending merges that we can see.

It is possible, though, that these clients have not being doing a pull + 
update as often as the clients which seem to be up to date, but I doubt 
that should be necessary.

An additional problem is that we've been unable to do a clone of the 
current repository, encountering a seemingly fatal problem with a 
largefile which we are told cannot be found.

Running a verify on the server's version of the repository shows no 
problems.

In order to clone, I am now making a copy of the current workspace and 
repository from one known good machine and putting that on to any client 
that needs the current version. That seems to work, at least for a 
while, but doesn't help in working out what is going wrong, nor has it 
helped us to reacquire confidence that each system is up-to-date, which 
at this final stage of our project is critical to locating problems and 
getting them fixed.



I know there is likely precious little anyone can suggest to help us in 
the short-term, and that situations like this are almost impossible to 
assist with unless a more complete report is given (which I don't have 
the time to make, given where we are in our project). I've written this 
on the off-chance that someone has a bolt-from-the-blue suggestion ("why 
aren't you doing X?").


Take care,

Liam Routt
Media Saints



More information about the Mercurial mailing list