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