Push to repository: "Operation not permitted"

Ben Finney bignose+hates-spam at benfinney.id.au
Mon Jun 23 15:25:27 BST 2008


James Westby <jw+debian at jameswestby.net> writes:

> On Tue, 2008-06-24 at 00:01 +1000, Ben Finney wrote:
> > $ bzr push --verbose /media/sdb1/bazaar/roaming-profile/
> > bzr: ERROR: [Errno 1] Operation not permitted
> > =====
> > 
> > What can I do to find out what Bazaar is trying to do that fails here?
> > What can I do to fix it?
> > 
> 
> Hi,
> 
> The backtrace that should be in your ~/.bzr.log would be useful in
> working out what operation is failing.

Good point.

Here is the corresponding traceback from '$HOME/.bzr.log':

=====
0.254  encoding stdout as sys.stdout encoding 'UTF-8'
0.255  bzr arguments: [u'push', u'--verbose', u'/media/sdb1/bazaar/roaming-profile/']
0.255  looking for plugins in /home/bignose/.bazaar/plugins
0.255  looking for plugins in /usr/lib/python2.5/site-packages/bzrlib/plugins
0.256  Plugin name __init__ already loaded
0.256  Plugin name __init__ already loaded
0.316  encoding stdout as sys.stdout encoding 'UTF-8'
0.513  opening working tree '/media/sdb1/bazaar/roaming-profile'
0.582  Using fetch logic to copy between KnitPackRepository('file:///home/bignose/.roam/.bzr/repository/')(<RepositoryFormatKnitPack1>) and KnitPackRepository('file:///media/sdb1/bazaar/.bzr/repository/')(<RepositoryFormatKnitPack1>)
0.667  Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 865, in run
    tree_to.update()
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree.py", line 2093, in update
    return self._update_tree(old_tip, change_reporter)
  File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line 52, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree.py", line 2133, in _update_tree
    change_reporter=change_reporter)
  File "/usr/lib/python2.5/site-packages/bzrlib/merge.py", line 1196, in merge_inner
    return merger.do_merge()
  File "/usr/lib/python2.5/site-packages/bzrlib/merge.py", line 419, in do_merge
    merge.do_merge()
  File "/usr/lib/python2.5/site-packages/bzrlib/merge.py", line 519, in do_merge
    self._compute_transform()
  File "/usr/lib/python2.5/site-packages/bzrlib/merge.py", line 557, in _compute_transform
    file_status = self.merge_contents(file_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/merge.py", line 827, in merge_contents
    self.other_tree, trans_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/transform.py", line 1823, in create_by_entry
    tt.create_symlink(tree.get_symlink_target(entry.file_id), trans_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/transform.py", line 388, in create_symlink
    os.symlink(target, self._limbo_name(trans_id))
OSError: [Errno 1] Operation not permitted
=====

That gives a pretty big clue: This repository is on a FAT16
filesystem, and I'm asking it to update a working tree containing
symlinks.

Should I expect that to work?

If it is to fail, I would at least expect a more sensible error
message, indicating what operation is failing, and exactly which file
in the working tree is being updated at the point of the failure.

-- 
 \         "Pinky, are you pondering what I'm pondering?" "I think so, |
  `\     Brain, but I find scratching just makes it worse."  -- _Pinky |
_o__)                                                   and The Brain_ |
Ben Finney




More information about the bazaar mailing list