Error when cloning within a clone

Jamie Whitehouse basil.whitehouse at genesyslab.com
Wed May 21 14:53:05 CDT 2008


On Wed, 2008-05-21 at 15:28 -0400, Jamie Whitehouse wrote:

> First let me acknowledge that this isn't a typical Mercurial
> operation, but has worked successfully in 0.9.5.
> 
> I'm using Mercurial to manage the source of a Java project built using
> Maven.  Maven has a release plugin that performs tagging and produces
> a clean build from a tag.  Part of that process is to checkout a clean
> version from the tag into the projects build directory (Maven names
> this 'target').  What you wind up with is two clones, on within the
> other:
> - the first clone being the development working directory created
> manually using the command line hg tool (my-project)
> - the second clone being the release build directory created by Maven
> using the command line hg tool (my-project/target/checkout)
> 
> Using Mercurial 0.9.5 this worked fine but in 1.0 I get an error.
> Luckily the hg command executed by Maven is shown and I've reproduced
> this manually, below is the output.  The ea-server.mainstream
> directory is the root of the first clone.  In this case I'm creating a
> release for the installer-support sub-project and am running the Maven
> release plugin from ea-server.mainstream/installer-support.  The
> plugin tries to create a clone into
> ea-server.mainstream/installer-support/target/checkout .  When doing
> so an error occurs.
> 
> ~/work/ea/mainstream/ea-server.mainstream/installer-support$ hg clone
> -r installer-support-2.9.0.0.0_build3
> http://hg/ea/mainstream/ea-server.mainstream /home/jwhitehouse/work/ea/mainstream/ea-server.mainstream/installer-support/target/checkout
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 2681 changesets with 13344 changes to 3741 files
> updating working directory
> Traceback (most recent call last):
>   File "/usr/bin/hg", line 20, in <module>
>     mercurial.dispatch.run()
>   File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
> 20, in run
>     sys.exit(dispatch(sys.argv[1:]))
>   File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
> 29, in dispatch
>     return _runcatch(u, args)
>   File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
> 93, in _runcatch
>     ui.warn(_("abort: %s\n") % inst[1])
> IndexError: tuple index out of range

Upon further investigation I discovered that the update part of cloning
was failing.  I can run hg incoming in the 'sub clone' successfully, but
running hg update fails.  Running with more debugging detail provided a
hint that this may have to do with the Mercurial inotify plugin which is
now enabled by default in the Debian package.  If I disable this plugin
the clone within a clone is now successful.  Here's the detailed stack
trace of performing an update of the failed clone within the clone with
the inotify plugin enabled:

jwhitehouse at pc42:~/work/ea/mainstream/ea-server.mainstream/installer-support/target/checkout$ hg --traceback up
Traceback (most recent call last):
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
45, in _runcatch
    return _dispatch(ui, args)
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
364, in _dispatch
    ret = _runcommand(ui, options, cmd, d)
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
417, in _runcommand
    return checkargs()
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
373, in checkargs
    return cmdfunc()
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
356, in <lambda>
    d = lambda: func(ui, repo, *args, **cmdoptions)
  File "/var/lib/python-support/python2.5/mercurial/commands.py", line
2796, in update
    return hg.update(repo, rev)
  File "/var/lib/python-support/python2.5/mercurial/hg.py", line 271, in
update
    stats = _merge.update(repo, node, False, False, None)
  File "/var/lib/python-support/python2.5/mercurial/merge.py", line 388,
in update
    _checkunknown(wc, p2)
  File "/var/lib/python-support/python2.5/mercurial/merge.py", line 14,
in _checkunknown
    for f in wctx.unknown():
  File "/var/lib/python-support/python2.5/mercurial/context.py", line
498, in unknown
    def unknown(self): return self._status[4]
  File "/var/lib/python-support/python2.5/mercurial/context.py", line
452, in __getattr__
    self._status = self._repo.status()
  File "/var/lib/python-support/python2.5/mercurial/localrepo.py", line
1011, in status
    list_unknown)
  File "/var/lib/python-support/python2.5/hgext/inotify/__init__.py",
line 55, in status
    list_clean, list_unknown)
  File "/var/lib/python-support/python2.5/hgext/inotify/client.py", line
17, in query
    sock.connect(sockpath)
  File "<string>", line 1, in connect
error: AF_UNIX path too long
Traceback (most recent call last):
  File "/usr/bin/hg", line 20, in <module>
    mercurial.dispatch.run()
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
20, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
29, in dispatch
    return _runcatch(u, args)
  File "/var/lib/python-support/python2.5/mercurial/dispatch.py", line
93, in _runcatch
    ui.warn(_("abort: %s\n") % inst[1])
IndexError: tuple index out of range


					
-------------------------------------------------------------------------------------------------------------------
CONFIDENTIALITY NOTICE: This e-mail and any files attached may contain confidential and proprietary information of Alcatel-Lucent and/or its affiliated entities. Access by the intended recipient only is authorized. Any liability arising from any party acting, or refraining from acting, on any information contained in this e-mail is hereby excluded. If you are not the intended recipient, please notify the sender immediately, destroy the original transmission and its attachments and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Copyright in this e-mail and any attachments belongs to Alcatel-Lucent and/or its affiliated entities.
					
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://selenic.com/pipermail/mercurial/attachments/20080521/87f459fd/attachment.htm 


More information about the Mercurial mailing list