Pushing a branch to a launchpad project when it can't stack fails

Bug #328146 reported by Mathias Gug on 2009-02-11
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Launchpad itself

Bug Description

I've tried to push two branches holding packaging data for mysql-dfsg-5.1 in debian and ubuntu. These branches are based on the Debian svn repository. However pushing to lp:~ubuntu-core-dev/mysql-server/pkg-{debian,ubuntu}-5.1 fails because the mysql-server project is using stacked branches.

Here is a log of the error:

(j)mathiaz@mathiaz-srv:~/src/mysql-dfsg-5.1/pkg/debian$ bzr info
Repository checkout (format: unnamed)
  repository checkout root: .
        checkout of branch: svn://svn.debian.org/pkg-mysql/branches/sid-5.1
         shared repository: /home/mathiaz/src/mysql-dfsg-5.1/pkg

(j)mathiaz@mathiaz-srv:~/src/mysql-dfsg-5.1/pkg/debian$ bzr push lp:~ubuntu-core-dev/mysql-server/pkg-debian-5.1/
Using default stacking branch /~mysql/mysql-server/mysql-5.1 at bzr+ssh://bazaar.launchpad.net/%7Eubuntu-core-dev/mysql-server/
bzr: ERROR: RemoteRepository(bzr+ssh://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.1/.bzr/)
is not compatible with
different rich-root support

The format of the local repository is Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)

Andrew Bennetts (spiv) wrote :

Your local repository is in a format incompatible with the remote repository that bzr is trying to stack on.

The "different rich-root support" is the key part of that error. Your local repository is 1.9-rich-root, but the remote repo is not rich-root (just pack-0.92, I think).

Probably bzr should provide a way to do a push without stacking to avoid this. Perhaps you can specify a different --stacked-on branch that will avoid this.

As Andrew says, this is not a Launchpad Bazaar bug. Bazaar should either let rich root branches stack on non-rich root branches, or it should provide a way of pushing without stacking.

Changed in launchpad-bazaar:
status: New → Invalid
Andrew Bennetts (spiv) wrote :

This is a regression from pre-1.6 bzrs, which would never fail to push a new rich-root standalone branch, which is really what should happen here (although a warning that stacking was suggested and not usable would be appropriate too). So I'm marking this as Critical.

Changed in bzr:
importance: Undecided → Critical
Martin Pool (mbp) wrote :

Has this perhaps now been fixed with the changes to how stacking is set up?

I'm not sure if the bug here is "we give a poor message" or "you should be able to stack rich-root on non-rich-root" which seems like a larger bug

Changed in bzr:
importance: Critical → Medium
Martin Pool (mbp) on 2009-04-21
Changed in bzr:
status: New → Confirmed
Robert Collins (lifeless) wrote :

We'll encounter this a lot as people migrate to 2a. It may even be critical.

summary: - Pushing a non-stacked rich-root branch to a project using stacked non-
- rich-root branches fails
+ Pushing a branch to a launchpad project when it can't stack fails
Changed in bzr:
importance: Medium → High
Daniel Hahler (blueyed) wrote :

Any workarounds?

/me cannot push a branch which I wanted to propose for merging:
$ bzr push lp:~blueyed/bzr-extmerge/bcompare
Using default stacking branch /~zindar/bzr-extmerge/trunk at lp-46128656:///~blueyed/bzr-extmerge
bzr: ERROR: KnitPackRepository('lp-46128656:///~zindar/bzr-extmerge/trunk/.bzr/repository')
is not compatible with
different rich-root support

On Thu, 05 Nov 2009 11:55:31 Daniel Hahler wrote:
> Any workarounds?
> /me cannot push a branch which I wanted to propose for merging:
> $ bzr push lp:~blueyed/bzr-extmerge/bcompare
> Using default stacking branch /~zindar/bzr-extmerge/trunk at
> lp-46128656:///~blueyed/bzr-extmerge bzr: ERROR:
> KnitPackRepository('lp-46128656:///~zindar/bzr-extmerge/trunk/.bzr/reposit
> ory') is not compatible with
> CHKInventoryRepository('lp-46128656:///~blueyed/bzr-extmerge/bcompare/.bzr/
> repository') different rich-root support

We really need a way to have a fallback. The trunk branch should be upgraded.

Michael Hudson-Doyle (mwhudson) wrote :

Daniel, if you just try again after getting that message it will work I think. Obscure but true...

Lenz Grimmer (lenzgr) wrote :

I'm facing a similar problem when trying to push some recently merged changes:

lenz@thebe:~/work/mylvmbackup/trunk> bzr push
Using saved push location: bzr+ssh://<email address hidden>/~lenzgr/mylvmbackup/trunk/
bzr: ERROR: RemoteRepository(bzr+ssh://<email address hidden>/~lenzgr/mylvmbackup/trunk/.bzr/)
is not compatible with
different rich-root support
lenz@thebe:~/work/mylvmbackup/trunk> bzr version
Bazaar (bzr) 2.0.3
  Python interpreter: /usr/bin/python 2.6.2
  Python standard library: /usr/lib/python2.6
  Platform: Linux-
  bzrlib: /usr/lib/python2.6/site-packages/bzrlib
  Bazaar configuration: /home/lenz/.bazaar
  Bazaar log file: /home/lenz/.bzr.log

Copyright 2005, 2006, 2007, 2008, 2009 Canonical Ltd.

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.

lenz@thebe:~/work/mylvmbackup/trunk> bzr info
Repository tree (format: 2a)
  shared repository: /home/lenz/work/mylvmbackup
  repository branch: .

Related branches:
    push branch: bzr+ssh://<email address hidden>/~lenzgr/mylvmbackup/trunk/
  parent branch: bzr+ssh://<email address hidden>/~lenzgr/mylvmbackup/trunk/
  submit branch: /home/lenz/work/mylvmbackup/non-gnu-merge

Lenz Grimmer (lenzgr) wrote :

Please disregard my previous post - I wasn't aware that it's possible to do a "bzr upgrade" on remote repositories (e.g. the one on Launchpad). This fixed the issue for me.

Jelmer Vernooij (jelmer) on 2011-01-15
tags: added: stacking
Jelmer Vernooij (jelmer) on 2017-11-08
tags: added: check-for-breezy
Jelmer Vernooij (jelmer) on 2017-11-11
tags: removed: check-for-breezy
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers