supermirror sftp server does not support hosting bzr repositories

Bug #41415 reported by Robert Collins
20
Affects Status Importance Assigned to Milestone
Launchpad itself
Won't Fix
Low
Unassigned

Bug Description

This probably needs a spec, but as people usually look at bugs first, I'm starting with a bug.

We should allow people to have a repository at sftp://bazaar.launchpad.net/~ME/PRODUCT. This repository should be autocreated and maintained by the supermirror. It would make making new branches for a user or team much less expensive.

On the publishing side, we dont need a repository as much because we have no lateny. If we decide to do one on the http published content, then the format-changing logic becomes much more complex (see bug: #41414) and also dealing with nuclear launchcode scenarios will become more difficult.

Revision history for this message
David Allouche (ddaa) wrote :

Agreed on most of that.

It looks to me like "allow people to have a repository" and "this repository should be autocreated and maintained by the supermirror" conflict.

If we automatically create the repository, it effectively becomes mandatory. It would be more complex to implement and potentially more surprising than just allowing the user to create the repository explicitly.

Also, I see no reason to prevent the creation of a repository in a team context.

So, I'd rather just allow the user to create an explicit repository in ~me-or-team/product, and have the sftp server and and branch puller properly deal with it.

Nice point on the repository not being really needed on the publishing side. But nuclear codes and waste scenarios are also affected by the presence of a repository in the sftp area if the bzrlib fetcher is greedy, and I think it is indeed greedy, at least with weaves.

David Allouche (ddaa)
Changed in launchpad-bazaar:
status: Unconfirmed → Confirmed
David Allouche (ddaa)
Changed in launchpad-bazaar:
importance: Medium → Wishlist
Revision history for this message
James Henstridge (jamesh) wrote :

If anyone does look at implementing this, please keep in mind the branch renaming/reassignment feature of Launchpad.

At present, a user can go to the web UI and rename a branch, assign it to a different product or give ownership to someone else or a team. All of these operations change the path of the branch in the SFTP filesystem. Given that repositories are found by traversing file paths, this makes it very easy for a branch to lose its repository. We would need to make sure that either:
(a) the user couldn't rename branches outside of their repository, or
(b) Launchpad would prime the repository in the new location based on the repository for the old location.

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

this would really help a lot of bigger repositories. I wouldn't consider using launchpad for my Samba branches without this.

Revision history for this message
Tim Penhey (thumper) wrote :

Jelmer,

This is happening but not in the simplistic nature originally suggested.

I have renamed the spec that Michael pointed to: https://blueprints.edge.launchpad.net/launchpad-bazaar/+spec/code-hosting-stacked-repositories.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Ah, thanks. That spec URL appears to require authentication though :-/

Revision history for this message
Jonathan Lange (jml) wrote :

Can we close this and say that it's handled in the spec? Alternatively, can we close the spec? Tracking the same thing twice is just unnecessary work.

Revision history for this message
Tim Penhey (thumper) wrote :

We are not going to support shared repositories in this manner.

The associated blueprint indicates a better way to get efficient revision sharing.

Changed in launchpad-bazaar:
status: Confirmed → Won't Fix
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.