[Bug 5896] New: narrow doesn't play well with share

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri May 25 18:12:32 EDT 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5896

            Bug ID: 5896
           Summary: narrow doesn't play well with share
           Product: Mercurial
           Version: 4.6rc0
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: share
          Assignee: bugzilla at mercurial-scm.org
          Reporter: idlsoft at gmail.com
                CC: mercurial-devel at mercurial-scm.org

This is actually a problem with "narrow", I've only listed "share", because
"narrow" is not on the list.

When using share to create another working copy and then pulling from the
remote I'm getting this exception.
It happens because narrow is looking for .hg/narrowspec.

How to reproduce:
1. Go to a working copy using narrow
2. hg --config extensions.share= share . ../new_working_copy
3. cd ../new_working_copy
4. hg pull


Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/mercurial/scmutil.py", line 160,
in callcatch
    return func()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
341, in _runcatchfunc
    return _dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
971, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
727, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
979, in _runcommand
    return cmdfunc()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line
968, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1553,
in check
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1553,
in check
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/hgext/narrow/narrowcommands.py",
line 127, in pullnarrowcmd
    return orig(ui, repo, *args, **opts)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1553,
in check
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/commands.py", line
4060, in pull
    opargs=pullopargs).cgresult
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1489, in pull
    _fullpullbundle2(repo, pullop)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1429, in _fullpullbundle2
    _pullbundle2(pullop)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1700, in _pullbundle2
    _pullbookmarks(pullop)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1803, in _pullbookmarks
    explicit=pullop.explicitbookmarks)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/bookmarks.py", line
642, in updatefromremote
    tr = trfunc()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1370, in gettransaction
    return self.trmanager.transaction()
  File "/usr/local/lib/python2.7/dist-packages/mercurial/exchange.py", line
1387, in transaction
    self._tr = self.repo.transaction(trname)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py", line
1247, in transaction
    self._writejournal(desc)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py", line
147, in wrapper
    return orig(repo.unfiltered(), *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/localrepo.py", line
1449, in _writejournal
    self.dirstate.savebackup(None, 'journal.dirstate')
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
359, in closure
    return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/hgext/narrow/narrowdirstate.py",
line 69, in savebackup
    orig(self, tr, backupname)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/extensions.py", line
359, in closure
    return func(*(args + a), **kw)
  File "/usr/local/lib/python2.7/dist-packages/hgext/narrow/narrowdirstate.py",
line 74, in savebackup
    self._opener.join(narrowbackupname), hardlink=True)
  File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line 1615,
in copyfile
    shutil.copyfile(src, dest)
  File "/usr/lib/python2.7/shutil.py", line 96, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '..../.hg/narrowspec'
abort: No such file or directory: ..../.hg/narrowspec

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list