Created by Leonid Borisenko on 2010-10-06 and last modified on 2010-12-15

I maintain Debian package with git-buildpackage: 'master' branch of Git repository contains imported upstream source with introduced debian/ directory.

Ubuntu version of the same package (which I also maintain) mainly based on Debian package, but has specific changes.

I've chose Bazaar for maintaining Ubuntu package source because of exciting collaboration infrastructure of Launchpad. And Bazaar has bzr-builddeb with the same workflow as git-buildpackage: upstream source of packaged software periodically imported in 'trunk' branch, where debian/ directory is located. My choice.

Generally I want independently import upstream source in Bazaar repository of Ubuntu package and in Git repository of Debian package, but have the possibility of syncing debian/ directory in Bazaar repository with debian/ directory from Git repository.

With this requirement I can't base Ubuntu package repository on the Bazaar mirror of whole Git repository of Debian package, because upstream sources in these repositories can intentionally have different versions (i.e. content) at the same time.

So I need for mirror of only debian/ directory from Git repository.

I can't use 'bzr fast-import-filter'. Mainly because of wish for keeping in Bazaar repository original (unfiltered) commits too. They are required for supporting 'filecopy' and 'filerename' commands of fast-import format (these commands are operating with _paths_ of source and destination locations). In distant future I can copy file from main directory to debian/ subdirectory in Git repository and commit the change. This is where solution with fast-import-filter will not work, because there will be nothing at source path in Bazaar repository. Also 'fast-import-filter' didn't support incremental mirroring (it fails when 'from' command references to previous commit nonexistent in filtered stream).

And I've made this hacky version of bzr-fastimport. Described behavior could be enabled by passing option '--with-hacks-for-mirroring-only-debian-directory' to 'bzr fast-import' command.

Get this branch:
bzr branch lp:~onehundredthirty/bzr-fastimport/mirroring-only-debian-dir
Only Leonid Borisenko can upload to this branch. If you are Leonid Borisenko please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Leonid Borisenko
Bazaar Fast Import

Recent revisions

286. By Leonid Borisenko on 2010-12-15

Check for corner case of merging

Exclude from merged-in parents of filtered revision those, which branch
doesn't introduce any filtered revision at all.

285. By Leonid Borisenko on 2010-10-20

Remove warning output used for debug

284. By Leonid Borisenko on 2010-10-20

Integrate implementation of mirroring in GenericProcessor

283. By Leonid Borisenko on 2010-10-20

Add CommitHandler for mirroring only debian/ dir

282. By Leonid Borisenko on 2010-10-06

Don't use known graph in RevisionStore

281. By Leonid Borisenko on 2010-10-06

Check for explicitly setted revision_id in GenericCommitHandler

280. By Leonid Borisenko on 2010-10-06

Introduce read_only parameter for state changing CacheManager methods

279. By Leonid Borisenko on 2010-10-05

Pass option for mirroring only debian/ to GenericProcessor

278. By Leonid Borisenko on 2010-10-05

Added option for enabling mirroring only debian/ directory

277. By Jelmer Vernooij on 2010-07-27

Merge fixes from Miklos for darcs fast import.

Branch metadata

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