We had a strange problem this weekend. I develop on Windows 7, my co-worker uses Ubuntu. After he upgraded his Ubuntu and got a more recent version of Mercurial he could no longer download the repository. The problem was that Ubuntu hg was choking on a file that had once been a Windows symlink.
Some internet browsing reveals that
- A Windows symlink is replaced with real file OR
- A real file is replaced with a Windows symlink
Then Unix hg may sometimes break.
The solution was for the Windows user to “hg remove” the problem file and push to the repository.
Mercurial tip: If working in a mixed enviroment then avoid putting Windows symlinks under source control. If you do, then remember to remove them before replacing them with a physical file and subsequently hg add(ing) it.
I offer FogBugz and Kiln training here.