"bzr push" to a bound branch without a working tree

Eli Zaretskii eliz at gnu.org
Wed May 18 08:11:12 UTC 2011


On one of my machines, I have a bound branch without a working tree.
"bzr info" reports:

  D:\usr\eli\bzr\emacs\trunk>bzr info
  Repository bound branch (format: 2a)
  Location:
    shared repository: D:/usr/eli/bzr/emacs
    repository branch: .

  Related branches:
    public branch: bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/trunk/
    parent branch: bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/trunk/

I also have there a local branch with a tree whose parent is the above
treeless branch:

  D:\usr\eli\bzr\emacs\quickfixes>bzr info
  Repository tree (format: 2a)
  Location:
    shared repository: D:/usr/eli/bzr/emacs
    repository branch: .

  Related branches:
      push branch: D:/usr/eli/bzr/emacs/trunk
    parent branch: D:/usr/eli/bzr/emacs/trunk

I never before used this machine for committing changes, only for
tracking the upstream repo.  Today I tried, and saw a strange failure.

Here's what I did:

  . Made a change in quickfixes, then committed the change.  That
    worked as expected.

  . Went to ../trunk and tried merging with quickfixes.  This failed
    with the following error message:

    D:\usr\eli\bzr\emacs\quickfixes>cd ..\trunk

    D:\usr\eli\bzr\emacs\trunk>bzr merge ../quickfixes
    NoWorkingTree: No WorkingTree exists for "file:///D:/usr/eli/bzr/emacs/trunk/.bzr/checkout/".

    Is this expected?  I don't think the documentation of "merge" says
    anything about working trees.

  . Then I tried pushing from quickfixes/ to trunk/.  This also
    failed:

    D:\usr\eli\bzr\emacs\trunk>cd ../quickfixes

    D:\usr\eli\bzr\emacs\quickfixes>bzr push ../trunk
    Connected (version 2.0, client OpenSSH_5.5p1)
    Authentication (publickey) successful!
    Secsh channel 1 opened.
    Connected (version 2.0, client OpenSSH_5.5p1)hing stream
    Authentication (publickey) successful!
    Secsh channel 1 opened.
    bzr: ERROR: Could not acquire lock "(remote lock)": bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/

    It sounds like it tried to acquire a second lock while the first
    was still in use, and that failed, is that right?  Here's what I
    have in .bzr.log about this:

    [ 4516] 2011-05-18 08:04:54.875 INFO: Connected (version 2.0, client OpenSSH_5.5p1)
    3.390  Trying SSH agent key A6442B38A7FDA45B6B2E3B70568448C5
    [ 4516] 2011-05-18 08:04:56.062 INFO: Authentication (publickey) successful!
    [ 4516] 2011-05-18 08:04:56.250 INFO: Secsh channel 1 opened.
    6.279  Using fetch logic to copy between CHKInventoryRepository('file:///D:/usr/eli/bzr/emacs/.bzr/repository/')(RepositoryFormat2a()) and RemoteRepository(bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/.bzr/)(RemoteRepositoryFormat(_network_name='Bazaar repository format 2a (needs bzr 1.16 or later)\n'))
    6.279  fetch up to rev {eliz at gnu.org-20110518050249-lxix1h22vc2r9v07}
    [ 4516] 2011-05-18 08:05:16.759 INFO: Connected (version 2.0, client OpenSSH_5.5p1)
    25.211  Trying SSH agent key A6442B38A7FDA45B6B2E3B70568448C5
    [ 4516] 2011-05-18 08:05:17.884 INFO: Authentication (publickey) successful!
    [ 4516] 2011-05-18 08:05:18.072 INFO: Secsh channel 1 opened.
    28.054  Transferred: 304kB (12.9kB/s r:136kB w:168kB)
    28.054  Traceback (most recent call last):
      File "bzrlib\commands.pyo", line 926, in exception_to_return_code
      File "bzrlib\commands.pyo", line 1126, in run_bzr
      File "bzrlib\commands.pyo", line 691, in run_argv_aliases
      File "bzrlib\commands.pyo", line 713, in run
      File "bzrlib\cleanup.pyo", line 135, in run_simple
      File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
      File "bzrlib\builtins.pyo", line 1132, in run
      File "bzrlib\push.pyo", line 140, in _show_push_branch
      File "bzrlib\controldir.pyo", line 529, in push_branch
      File "bzrlib\branch.pyo", line 1095, in push
      File "bzrlib\branch.pyo", line 3501, in push
      File "bzrlib\branch.pyo", line 3295, in
      _run_with_write_locked_target
      File "bzrlib\branch.pyo", line 3530, in _push_with_bound_branches
      File "bzrlib\branch.pyo", line 2675, in _basic_push
      File "bzrlib\tag.pyo", line 209, in merge_to
      File "bzrlib\cleanup.pyo", line 131, in run
      File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
      File "bzrlib\tag.pyo", line 241, in _merge_to_operation
      File "bzrlib\remote.pyo", line 2468, in lock_write
      File "bzrlib\remote.pyo", line 2458, in _remote_lock_write
    LockContention: Could not acquire lock "(remote lock)": bzr+ssh://eliz@bzr.savannah.gnu.org/emacs/

Is this configuration (a tree-less bound branch and its child local
branch with a tree) supported?  If so, did I do something wrong?

TIA



More information about the bazaar mailing list