[Bug 3909] New: hg update in central database fails with chmod in lfutil.py

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Thu Apr 25 12:48:18 CDT 2013


http://bz.selenic.com/show_bug.cgi?id=3909

          Priority: normal
            Bug ID: 3909
                CC: mercurial-devel at selenic.com, natosha at gmail.com
          Assignee: bugzilla at selenic.com
           Summary: hg update in central database fails with chmod in
                    lfutil.py
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: andersbk at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 2.5.4
         Component: largefiles
           Product: Mercurial

Largefiles not owned by push user fail update in main, parent, central,
repository.

Main repo has:
[hooks]
changegroup = hg update

User commits and pushes updates.

Changegroup fails on any hglf file not owned by pusher.

lfutil.py code has os.chmod. Fix may be similar to fix done for normal files?
See http://bz.selenic.com/show_bug.cgi?id=530

Failure traceback:

$ hg --debug --verbose --traceback update
Traceback (most recent call last):
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line 88,
in _runcatch
    return _dispatch(req)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line
743, in _dispatch
    cmdpats, cmdoptions)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line
514, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/extensions.py", line
189, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/pager.py", line 130, in
pagecmd
    return orig(ui, options, cmd, cmdfunc)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/extensions.py", line
189, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/color.py", line 394, in
colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line
833, in _runcommand
    return checkargs()
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line
804, in checkargs
    return cmdfunc()
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/dispatch.py", line
740, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/util.py", line 475, in
check
    return func(*args, **kwargs)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/extensions.py", line
144, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/tools/APPS/mercurial-2.5.4/lib/python/mercurial/util.py", line 475, in
check
    return func(*args, **kwargs)
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/largefiles/overrides.py",
line 317, in overrideupdate
    lfutil.updatestandin(repo, lfutil.standin(lfile))
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/largefiles/lfutil.py",
line 280, in updatestandin
    writestandin(repo, standin, hash, executable)
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/largefiles/lfutil.py",
line 289, in writestandin
    writehash(hash, repo.wjoin(standin), executable)
  File "/tools/APPS/mercurial-2.5.4/lib/python/hgext/largefiles/lfutil.py",
line 348, in writehash
    os.chmod(filename, getmode(executable))
OSError: [Errno 1] Operation not permitted:
'/data/project/.hglf/code/file_that_is_large'
abort: Operation not permitted: '/data/project/.hglf/code/file_that_is_large'

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


More information about the Mercurial-devel mailing list