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

Neil Martinsen-Burrell nmb at wartburg.edu
Wed May 18 18:09:49 UTC 2011


Oops, meant to send to list as well.


---------- Forwarded message ----------
From: Neil Martinsen-Burrell <nmb at wartburg.edu>
Date: Wed, May 18, 2011 at 13:01
Subject: Re: "bzr push" to a bound branch without a working tree
To: Eli Zaretskii <eliz at gnu.org>


On Wed, May 18, 2011 at 03:11, Eli Zaretskii <eliz at gnu.org> wrote:

>    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?

This configuration ought to be supported.  The presence of a working
tree in the bound branch should be irrelevant.  The presence of a tree
on the child branch should be irrelevant.  The thing that should work
is pushing from a branch to its parent which happens to be a bound
branch.

I think you should file this as a bug, however I can't reproduce this
using bzr+ssh://localhost/ and a collection of test branches:

$ bzr init emacs
Created a standalone tree (format: 2a)
$ echo content > emacs/file
$ bzr add emacs
adding file
$ bzr ci -m 'first revision' emacs
Committing to: /Users/nmb/tmp/emacs/
added file
Committed revision 1.
$ bzr branch emacs trunk
Branched 1 revision(s).
$ cd trunk
$ bzr reconfigure --branch # removes tree
$ bzr bind bzr+ssh://localhost/$HOME/tmp/emacs
$ bzr info
Bound branch (format: 2a)
Location:
     branch root: .
 bound to branch: bzr+ssh://localhost//Users/nmb/tmp/emacs/

Related branches:
 parent branch: /Users/nmb/tmp/emacs
$ ls
$ bzr branch . ../quickfixes
Branched 1 revision(s).
$ cd ../quickfixes
$ echo more content >> file
$ bzr ci -m 'second revision'
Committing to: /Users/nmb/tmp/quickfixes/
modified file
Committed revision 2.
$ bzr push ../trunk
Pushed up to revision 2.
$ bzr log ../trunk
------------------------------------------------------------
revno: 2
committer: Neil Martinsen-Burrell <nmb at wartburg.edu>
branch nick: quickfixes
timestamp: Wed 2011-05-18 12:55:51 -0500
message:
 second revision
------------------------------------------------------------
revno: 1
committer: Neil Martinsen-Burrell <nmb at wartburg.edu>
branch nick: emacs
timestamp: Wed 2011-05-18 12:52:24 -0500
message:
 first revision
$ bzr log ../emacs
------------------------------------------------------------
revno: 2
committer: Neil Martinsen-Burrell <nmb at wartburg.edu>
branch nick: quickfixes
timestamp: Wed 2011-05-18 12:55:51 -0500
message:
 second revision
------------------------------------------------------------
revno: 1
committer: Neil Martinsen-Burrell <nmb at wartburg.edu>
branch nick: emacs
timestamp: Wed 2011-05-18 12:52:24 -0500
message:
 first revision

I haven't tried with the "emacs" branch on a separate server, but it
is possible that the problem lies there.

-Neil



More information about the bazaar mailing list