unnecessary stacking upgrade warning with bzr.dev

Bug #388908 reported by Robert Collins
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Andrew Bennetts

Bug Description

 affects bzr
 importance high
 status triaged
 done

!bzr push bzr
+ssh://bazaar.launchpad.net/~lifeless/testresources/bug-308869
Source branch format does not support stacking, using format:
  Branch format 7
Using default stacking
branch /~testresources-developers/testresources/trunk at
lp-139738591703248:///~lifeless/testresources
Created new stacked branch referring
to /~testresources-developers/testresources/trunk.

:!bzr info -v
Standalone tree (format: 1.9-rich-root)
Location:
  branch root: .

Format:
       control: Meta directory format 1
  working tree: Working tree format 4
        branch: Branch format 7
    repository: Packs 6 rich-root (uses btree indexes, requires bzr 1.9)

--

Related branches

Revision history for this message
Andrew Bennetts (spiv) wrote :

This is a regression in 1.16, I think.

It's a messy one, though. When RemoteBzrDirFormat.initialize_on_transport_ex invokes require_stacking() it has no knowledge of the source format (despite the message it emits!), so it's difficult to fix.

My initial feeling is that initialize_on_transport_ex is the problem: it is half-way between a simple function and a comprehensive one. Specifically, it handles bzrdirs and repositories, but not branches. My suspicion is that the right fix will be to extend initialize_on_transport_ex (or make a new variant) that also initializes branches.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 388908] Re: unnecessary stacking upgrade warning with bzr.dev

On Tue, 2009-06-23 at 00:18 +0000, Andrew Bennetts wrote:
> This is a regression in 1.16, I think.
>
> It's a messy one, though. When
> RemoteBzrDirFormat.initialize_on_transport_ex invokes require_stacking()
> it has no knowledge of the source format (despite the message it
> emits!), so it's difficult to fix.
>
> My initial feeling is that initialize_on_transport_ex is the problem: it
> is half-way between a simple function and a comprehensive one.
> Specifically, it handles bzrdirs and repositories, but not branches. My
> suspicion is that the right fix will be to extend
> initialize_on_transport_ex (or make a new variant) that also initializes
> branches.

Hmm, I found that exceedingly tricky to do when I was tackling it
- ..._ex was as much as I could slice without needing callbacks. Its
worth looking for more - but I think the whole area needs cleaned up.

I don't think you've analysed it quite right anyhow - because I had the
same feeling when I first looked at it. Tracing through it though showed
me that the original format is cloned and parameterised, and *that*
object is indeed passed to ..._ex.

-Rob

Revision history for this message
Andrew Bennetts (spiv) wrote :

Fixed in bzr.dev r4541

Changed in bzr:
assignee: nobody → Andrew Bennetts (spiv)
status: Triaged → Fix Released
Revision history for this message
Tim Penhey (thumper) wrote :

Thank you.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.