Bug 2931 - Can't add a svn subrepo with a svn:external file in it.
Summary: Can't add a svn subrepo with a svn:external file in it.
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: unspecified
Hardware: All All
: normal bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-28 08:41 UTC by Vasily Titskiy
Modified: 2012-05-13 04:59 UTC (History)
5 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vasily Titskiy 2011-07-28 08:41 UTC
hg fails when trying to add a svn subrepo.
>>>>>>>>>>>>>>>
$ hg commit -m "Add new subrepo"
committing subrepository A4LibDev
** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.6.7 (r267:88850, Jun 13 2011, 20:39:28) [GCC 4.6.1 20110611
(prerelease)]
** Mercurial Distributed SCM (version 1.8.3)
** Extensions loaded: git, color, graphlog, hgk, convert
Traceback (most recent call last):
  File "/usr/bin/hg", line 38, in <module>
    mercurial.dispatch.run()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 36, in
dispatch
    return _runcatch(u, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 58, in
_runcatch
    return _dispatch(ui, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 601, in
_dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 406, in
runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/pymodules/python2.6/mercurial/extensions.py", line 178, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/usr/lib/pymodules/python2.6/hgext/color.py", line 223, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 655, in
_runcommand
    return checkargs()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 609, in
checkargs
    return cmdfunc()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 598, in
<lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 433, in check
    return func(*args, **kwargs)
  File "/usr/lib/pymodules/python2.6/mercurial/commands.py", line 869, in commit
    node = cmdutil.commit(ui, repo, commitfunc, pats, opts)
  File "/usr/lib/pymodules/python2.6/mercurial/cmdutil.py", line 1349, in commit
    return commitfunc(ui, repo, message, match(repo, pats, opts), opts)
  File "/usr/lib/pymodules/python2.6/mercurial/commands.py", line 864, in
commitfunc
    editor=e, extra=extra)
  File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 993, in
commit
    sr = sub.commit(cctx._text, user, date)
  File "/usr/lib/pymodules/python2.6/mercurial/subrepo.py", line 619, in commit
    raise util.Abort(commitinfo.splitlines()[-1])
IndexError: list index out of range
$ svn st A4LibDev
    X   A4LibDev/util/win/testlib/target/settings.bin
$ svn propget svn:externals A4LibDev/util/win/testlib/target/
^/CoreRelated/Settings/settings.bin settings.bin
$ uname -srmo
Linux 2.6.38-2-amd64 x86_64 GNU/Linux
<<<<<<<<<<<<<<<<<<<<

I think, something wrong with handling of files with svn:externals
attribute. Because others svn-subrepo were added without problems.

Also, I checked on other system (WinXP 32 bit SP3, hg version:
1.9+10-e9264b45237d) and got the same result.
Comment 2 HG Bot 2011-08-01 10:00 UTC
Fixed by http://selenic.com/repo/hg/rev/a115b5ee9c63
Vasily Titskiy <qehgt0@gmail.com>
subrepo: handle adding svn subrepo with a svn:external file in it (issue2931)

(please test the fix)
Comment 3 Bugzilla 2012-05-12 09:22 UTC

--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:22 EDT  ---

This bug was previously known as _bug_ 2931 at http://mercurial.selenic.com/bts/issue2931