hg clone fails with abort: could not symlink to
Matt Mackall
mpm at selenic.com
Fri Jan 29 23:16:36 UTC 2010
On Fri, 2010-01-29 at 14:48 -0800, Kishore Vasudeva wrote:
>
> > >
> > > We have been using Mercurial(version 1.1.2) as SCM for all our
> > > products/components for more than a year. Recently, one of our developer
> > > pushed a changeset to the one of the products repo's and since then we
> > > have been unable to clone or pull from this repository. Here's the details:
> > >
> > > hg clone http://mercurial.sfbay.sun.com:1236/hgwebdir.cgi/im8 im8_problem
> > > requesting all changes
> > > adding changesets
> > > adding manifests
> > > adding file changes
> > > added 9969 changesets with 34706 changes to 7475 files
> > > updating working directory
> > > abort: could not symlink to
> > >
> >
> > [long text deleted]
> > ...
> >
> > Symlinks pointers are stored as normal text, plus a flag bit. On
> > Windows, users will see a symlink as a normal file containing the link
> > pointer. So what's happened here is some Windows user has helpfully
> > 'fixed' the contents of the symlink file by copying the pointed to
> > file's contents to it. To fix it, simply clone on Windows and replace
> > the symlink file context with the pointer text (probably with hg
> > revert).
> >
> >
> These are the platforms used by our developers:
> - Ubuntu Linux
> - S10 sparc and x86
> - Mac OS X 10.6.2
>
> We do not use Windows platform for development or as server for
> central source repo.
>
> Here's some additional information:
>
> The problem occurred in 3 files:
> commssuite/im/l10n/l10nsrc/{ko, zh,
> zh_TW}/src/com/iplanet/im/client/help/index.html
>
> In all of these files, Hg showed the content to be a single line
> "toc.html". The file on disk(viewed in an editor or cat) on mac showed
> proper html content, though hg annotate showed the single line.
> Modifying the file and hg diff'ing gives a diff against the single
> line. On Linux system, both Hg and the file on disk showed the same
> content, one line "toc.html". It may be worth noting that the files
> contain Unicode text (in Korean or Chinese).
Ok, I suspect the issue is instead that a file has changed to a symlink
or vice-versa and someone got a surprising result when merging.
What happens when you use a recent version of Mercurial?
What does hg manifest -v -r tip report for the files in question?
Can you use clone -r to locate the problematic revision by simple
bisection? Is there anything interesting about it?
Is the repo public?
--
http://selenic.com : development and support for Mercurial and Linux
More information about the Mercurial
mailing list