, , , ,

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.