[PATCH 2 of 2] setup: call identify directly from mercurial.commands

Gilles Moris gilles.moris at free.fr
Thu Feb 12 13:59:17 CST 2009


On Thu February 12 2009 00:37:05 Martin Geisler wrote:
> +    pypath = sys.path[:]
> +    sys.path.append('mercurial')
> +    sys.path.append(os.path.join('mercurial', 'pure'))
> 

Why not:
    sys.path.insert(0, 'mercurial')
    sys.path.insert(0, os.path.join('mercurial', 'pure'))
to have [ 'mercurial/pure', 'mercurial' ] in front.
Otherwise, it takes the site-wise mpatch instead of the local pure.

BTW, I have the following traceback on my Fedora Core 5 when doing make local,
since a1138f437640.
Without the patch, it prints the stack trace but does not prevent the build.
With the patch, no traceback because you catch all exceptions now, but
otherwise, I get a similar traceback.

Any ideas ?

Thanks.
Gilles.

python setup.py  build_py -c -d . build_ext -i build_mo
** unknown exception encountered, details follow
** report bug details to http://www.selenic.com/mercurial/bts
** or mercurial at selenic.com
** Mercurial Distributed SCM (version unknown)
** Extensions loaded: churn, color, extdiff, graphlog, hgk, mq, nearest, patchbomb, purge, qrebase, rebase, transplant
Traceback (most recent call last):
  File "./hg", line 30, in ?
    mercurial.dispatch.run()
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 25, in dispatch
    return _runcatch(u, args)
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 41, in _runcatch
    return _dispatch(ui, args)
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 366, in _dispatch
    ret = _runcommand(ui, options, cmd, d)
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 415, in _runcommand
    return checkargs()
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 375, in checkargs
    return cmdfunc()
  File "/home/mercurial/hg.crew/mercurial/dispatch.py", line 360, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/home/mercurial/hg.crew/mercurial/util.py", line 718, in check
    return func(*args, **kwargs)
  File "/home/mercurial/hg.crew/mercurial/commands.py", line 1651, in identify
    tags = ctx.tags()
  File "/home/mercurial/hg.crew/mercurial/context.py", line 580, in tags
    [t.extend(p.tags()) for p in self.parents()]
  File "/home/mercurial/hg.crew/mercurial/context.py", line 104, in tags
    def tags(self): return self._repo.nodetags(self._node)
  File "/home/mercurial/hg.crew/mercurial/localrepo.py", line 358, in nodetags
    for t, n in self.tags().iteritems():
  File "/home/mercurial/hg.crew/hgext/mq.py", line 2396, in tags
    tagscache = super(mqrepo, self).tags()
  File "/home/mercurial/hg.crew/mercurial/localrepo.py", line 289, in tags
    for rev, node, fnode in self._hgtagsnodes():
  File "/home/mercurial/hg.crew/mercurial/localrepo.py", line 334, in _hgtagsnodes
    fnode = c.filenode('.hgtags')
  File "/home/mercurial/hg.crew/mercurial/context.py", line 141, in filenode
    return self._fileinfo(path)[0]
  File "/home/mercurial/hg.crew/mercurial/context.py", line 130, in _fileinfo
    if '_manifestdelta' in self.__dict__ or path in self.files():
  File "/home/mercurial/hg.crew/mercurial/context.py", line 100, in files
    def files(self): return self._changeset[3]
  File "/home/mercurial/hg.crew/mercurial/context.py", line 17, in __get__
    result = self.func(obj)
  File "/home/mercurial/hg.crew/mercurial/context.py", line 64, in _changeset
    return self._repo.changelog.read(self.node())
  File "/home/mercurial/hg.crew/mercurial/changelog.py", line 149, in read
    text = self.revision(node)
  File "/home/mercurial/hg.crew/mercurial/revlog.py", line 976, in revision
    text = mdiff.patches(text, bins)
  File "/home/mercurial/hg.crew/mercurial/pure/mpatch.py", line 79, in patches
    t = collect(b2, frags)
  File "/home/mercurial/hg.crew/mercurial/pure/mpatch.py", line 57, in collect
    m.move(buf, p, l)
ValueError: source or destination out of range
running build_py
...



More information about the Mercurial-devel mailing list