views:

91

answers:

2

In my Hg repository (at Google Code) I have a directory that shouldn't be there. Basically I decided to move everything into a sub-directory (I had everything in the root), which worked fine but now there's a couple of 'dead' directories. Its my understanding HG works off files rather than tracking directories so I think that's what's happening.

Example

Original directory structure:

/
- includes/
  - bootstrap
- index

Change made and pushed (this is what I see in my working copy, which is up-to-date):

/
- project/
  - includes/
    - bootstrap
  - index

Result (this is what I see on the remote repo):

/
- includes/
- project/
  - includes/
    - bootstrap
  - index

This only occurs on the remote repository, my working copy is fine. I've seen that the push command can run remote commands at the remote repo - could there be something I could run using that?

+6  A: 

I assume you are talking of this cset (since the repo is public, providing the link would have been easier :) )

It seems that only the google code display is wrong, not your repository: see this bug report.

An easy way to check for discrepancies in your remote repo is simply to clone your repo in a new directory: a new clone contains exactly the same data, and behaves exactly as the main repo (this is a DCVS, so each node can act as a server or as a client, without distinction). For this reason, if a new clone is clean and working as expected, your remote repo is in the very same state.

NicDumZ
That's interesting - thanks very much.
Ross
A: 

Could Google custom backend be at fault here?

Google doesn't use a standard mercurial back end for code.google.com. I wonder if the directory is acutally there in the BigTable backend. However when cloning, mercurial has no concept of tracked directories so that information can't be transmitted using mercurial protocol.

If you really want the directory gone, you could do a repo wipe then re-push your local copy.

caspin