[Pkg-bazaar-maint] Bug#675297: bzrtools: ‘bzr cbranch’ sets parent location in remote branch, but not bound branch

Ben Finney ben+debian at benfinney.id.au
Thu May 31 02:57:34 UTC 2012


Package: bzrtools
Version: 2.5+bzr786-2
Severity: normal

When using &'bzr cbranch’, I expect that the local branch which gets
created should have its ‘parent_location’ set to the local parent
branch, just as ‘bzr branch’ does.

That doesn't happen though.

Create a bound branch:

=====
$ bzr version
Bazaar (bzr) 2.6.0dev2
  Python interpreter: /usr/bin/python 2.7.3rc2
  Python standard library: /usr/lib/python2.7
  Platform: Linux-3.2.0-2-amd64-x86_64-with-debian-wheezy-sid
  bzrlib: /usr/lib/python2.7/dist-packages/bzrlib
  Bazaar configuration: /home/bignose/.bazaar
  Bazaar log file: /home/bignose/.bzr.log

Copyright 2005-2012 Canonical Ltd.
http://bazaar.canonical.com/

bzr comes with ABSOLUTELY NO WARRANTY.  bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Bazaar is part of the GNU Project to produce a free operating system.

$ bzr branch --bind bzr+ssh://bzr.debian.org/bzr/python-lockfile/trunk/
Branched 118 revisions.
New branch bound to bzr+ssh://bzr.debian.org/bzr/python-lockfile/trunk/

$ bzr info --verbose trunk/
Checkout (format: 2a)
Location:
       checkout root: trunk
  checkout of branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/trunk/

Related branches:
  parent branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/trunk/

Format:
       control: Meta directory format 1
  working tree: Working tree format 6
        branch: Branch format 7
    repository: Repository format 2a - rich roots, group compression and chk inventories

Control directory:
         1 branches

In the working tree:
        27 unchanged
         0 modified
         0 added
         0 removed
         0 renamed
         0 unknown
         0 ignored
         3 versioned subdirectories

Branch history:
       118 revisions
       843 days old
   first revision: Mon 2010-02-08 01:34:06 +0000
  latest revision: Wed 2011-04-13 02:28:53 +0000

Repository:
       118 revisions
=====

Use ‘cbranch’ to make a new local bound branch adjacent to the parent,
with corresponding remote branches:

=====
$ bzr cbranch trunk/ feature-foo/
                                                                                                                                                             $ bzr info --verbose feature-foo/
Checkout (format: 2a)
Location:
       checkout root: feature-foo
  checkout of branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/feature-foo/

Format:
       control: Meta directory format 1
  working tree: Working tree format 6
        branch: Branch format 7
    repository: Repository format 2a - rich roots, group compression and chk inventories

Control directory:
         1 branches

In the working tree:
        27 unchanged
         0 modified
         0 added
         0 removed
         0 renamed
         0 unknown
         0 ignored
         3 versioned subdirectories

Branch history:
       118 revisions
       843 days old
   first revision: Mon 2010-02-08 01:34:06 +0000
  latest revision: Wed 2011-04-13 02:28:53 +0000

Repository:
       118 revisions
=====

Try to use the bound feature branch:

=====
$ cd feature-foo/

$ # hack hack hack

$ bzr merge
bzr: ERROR: No location specified or remembered

$ bzr merge :parent
bzr: ERROR: No parent location assigned.
=====

Why that error? Check the info:

=====
$ bzr info
Checkout (format: 2a)
Location:
       checkout root: .
  checkout of branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/feature-foo/
=====

Hmm, it seems the parent location isn't set. But:

=====
$ bzr info :bound
Repository branch (format: unnamed)
Location:
  shared repository: bzr+ssh://bzr.debian.org/bzr/python-lockfile/
  repository branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/feature-foo/

Related branches:
  parent branch: bzr+ssh://bzr.debian.org/bzr/python-lockfile/trunk/
=====

So, the ‘cbranch’ set the parent location for the remote branch; but not
the local one.

To allow ‘bzr merge’ and other operations to behave as expected in the
new bound branch, ‘bzr cbranch’ should set the ‘parent_location’ to the
local parent's location.


-- System Information:
Debian Release: wheezy/sid
  APT prefers stable
  APT policy: (900, 'stable')
Architecture: powerpc (ppc64)

Kernel: Linux 3.2.0-2-powerpc64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_AU.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages bzrtools depends on:
ii  bzr        2.6.0~bzr6522-1
ii  patch      2.6.1-3
ii  python     2.7.2-10
ii  python2.6  2.6.7-4
ii  python2.7  2.7.3~rc2-2.1

Versions of packages bzrtools recommends:
ii  rsync  3.0.9-1

Versions of packages bzrtools suggests:
ii  graphviz      2.26.3-10
ii  librsvg2-bin  2.36.1-1

-- no debconf information





More information about the Pkg-bazaar-maint mailing list