lp:~cjwatson/launchpad/codehosting-breezy

Created by Colin Watson and last modified
Get this branch:
bzr branch lp:~cjwatson/launchpad/codehosting-breezy
Only Colin Watson can upload to this branch. If you are Colin Watson please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Colin Watson
Project:
Launchpad itself
Status:
Development

Recent revisions

19054. By Colin Watson

Port codehosting to Breezy.

Most of this is relatively mechanical: bzrlib imports become breezy imports,
some things move around a little more (mainly to breezy.bzr), bzrdir becomes
controldir in many cases, I tightened up some bytes/text handling, and there
were a couple of other minor API changes.

Due to problems with subvertpy, codeimport remains on Bazaar for now. This
entails some fiddly code to allow Bazaar and Breezy to coexist in the same
codebase.

DirectBranchCommit.commit needs a new call to
self.transform_preview.fixup_new_roots. I think this may technically have
been needed by Bazaar too, since bzrlib.transform._alter_files calls it, but
it no longer seems to be possible to get away without it.

We have to explicitly initialize Breezy in lib/lp/codehosting/__init__.py,
as otherwise it initializes itself with a terminal-oriented UI, causing some
unexpected output to appear in logs.

We have to disable some plugins that are now built into Breezy and likely to
cause trouble if invoked, although unfortunately we have no very elegant way
to do that. cvs, darcs, email, and mtn are disabled using
BRZ_DISABLE_PLUGINS. git requires more work: we can't allow Breezy to even
import this until codeimport is also ported, since it requires a newer
version of dulwich which is incompatible with bzr-git (and that isn't
particularly straightforward to fix), so I ended up stubbing it in
sys.modules so that importing it has no effect. Fortunately Breezy
currently only imports breezy.git and relies on it to register its own
formats, so this crude strategy works.

The hack in scripts/mirror-branch.py to force bzr to use urllib is no longer
required: Breezy removed pycurl support.

19053. By Launchpad PQM Bot

[testfix][r=cjwatson][no-qa] Fix doctests to cope with added
 Content-Security-Policy header.

19052. By Launchpad PQM Bot

[r=bloodearnest][no-qa] Set "Content-Security-Policy: frame-ancestors
 'self';
 " as well as "X-Frame-Options: SAMEORIGIN", for improved browser
 compatibility.

19051. By Launchpad PQM Bot

[r=bloodearnest][no-qa] Remove parts of lp.code.mail.patches that are
 unmodified from bzrlib.

19050. By Launchpad PQM Bot

[r=wgrant][bug=1824399] Add and export
 IGitRepository.issueAccessToken.

19049. By Launchpad PQM Bot

[r=wgrant][bug=1824399][incr] Make the Git XML-RPC API honour user
 macaroons.

19048. By Launchpad PQM Bot

[r=wgrant][bug=1842658][incr] Add IPackageset.isSourceIncluded.

19047. By Launchpad PQM Bot

[r=wgrant][no-qa] Allow ProductReleaseFinder to use ftp:// URLs.

19046. By Launchpad PQM Bot

[r=cjwatson][bug=1842919] Remove null characters in copyright field
 of sourcepackagerelease

19045. By Launchpad PQM Bot

[r=cjwatson][bug=1839229] Add a BROKEN state for mirrors and allow
 them to be resubmitted

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:launchpad
This branch contains Public information 
Everyone can see this information.

Subscribers