A while ago I migrated most of my packages from Bazaar to Git. The rest of the
world has decided to use Git for version control, and I don't have enough
reason to stubbornly stick with Bazaar and make it harder for myself to
collaborate with others.
So I'm moving away from a workflow I know and have polished over the last few
years - including the various bzr plugins and other tools involved. Trying to
do the same thing using git is frustrating and time-consuming, but I'm sure
that will improve with time. In particular, I haven't found a good way to merge
in a new upstream release (from a tarball) while referencing the relevant
upstream commits, like bzr merge-upstream can. Is there a good way to do this?
What helper tools can you recommend for maintaining a Debian package in git?
Having been upstream for bzr-git earlier, I used its git-remote-bzr
implementation to do the conversions of the commits and tags:
% git clone bzr::/path/to/bzr/foo.bzr /path/to/git/foo.git
One of my last contributions to bzr-git was a bzr git-push-pristine-tar-deltas
subcommand, which will export all bzr-builddeb-style pristine-tar metadata
to a pristine-tar branch in a Git repository that can be used by
pristine-tar directly or through something like git-buildpackage.
Once you have created a git clone of your bzr branch, it should be a matter of
running bzr git-push-pristine-tar-deltas with the target git repository
and the Debian package name:
% cd /path/to/bzr/foo.bzr
% bzr git-push-pristine-tar-deltas /path/to/git/foo.git foo
% cd /path/to/git/foo.git foo
% git branch
* master
pristine-tar
There are comments.