git-ubuntu 0.4 available in the edge channel

Nish Aravamudan nish.aravamudan at
Fri Oct 20 22:13:54 UTC 2017

* Changes from 0.3 in the edge channel:

- Drop python self-tests from the snap (saves about 10M compressed). I
am still working on reducing it more, but to get a fully
self-contained Python environment at the exact versions we need for
python2 and 3 does just take up space. Hopefully I can spend some time
on ubuntutools to help bump them to Python3 only and we can drop
python2 before 18.04.

- `git ubuntu import` will not treat pristine-tar failures as fatal.
While this is non-ideal, we have several packages (git, util-linux,
etc.) where pristine-tar is unable to recreate the orig tarball(s). We
have reported them to Debian, but without any response so far (I
believe the Debian maintainership has changed recently). It is
non-fatal for `git ubuntu build` to not have pristine-tar, as it will
just fallback to downloading from Launchpad, if needed. Fixes LP:
#1654022, LP: #1699887.

- Fix a bug where `git ubuntu build` would fail to parse 'devel' in

- Fix a bug where `git ubuntu build` would attempt to use, e.g.,
'zesty-security' to determine a distribution rather than 'zesty'.

- Add a --lxd-image override to `git ubuntu build` which allows
specifying what LXD image to use during builds. This is necessary when
we cannot automatically determine the correct image.

- Bump python3 to 3.6.3 in the snap. No impact to our code, and the
python-3.6.2 tarball was throwing a 500 today.

- Fix a bug in `git ubuntu build` for the download cache not existing.

- Fix a bug in the git-worktree handling to properly prune temporary
worktrees on exit.

- Fix a a bug in the run() code to handle non-zero success return codes.

- Fix bugs in internal context managers when context-managed code
raises an Exception.

- General code cleanups, formatting adjustments.

* Test snap (currently at 0.4+git28.0d0fa6a)

Additionally, I have placed a snap at edge/test-fixes, with future
fixes that are still waiting on review. If you are willing to test
those, it can help us find bugs ahead of landing them in edge (and
allows you to try more experimental features).

To install this snap branch:

- sudo snap install --classic git-ubuntu --channel edge/test-fixes

If you already have git-ubuntu installed and want to try this branch:

- sudo snap refresh git-ubuntu --channnel edge/test-fixes

And to switch back to the stable channel,

- sudo snap refresh git-ubuntu --channel stable

The list of changes present in that snap branch are:

- Adjust the import algorithm to drop the publishing parent side of
the implementation.

- Fix a bug in `git ubuntu remote` with passing in a URL manually.

- Fix LP: #1719707, which allows for `git ubuntu remote add debian` to
add the Debian Vcs information from pkg/ubuntu/devel:debian/control to
the local repository as a remote.

- Add a hidden import flag to allow patches-applied failures (to
workaround historical patch application failures with modern tools).

- `git ubuntu review` will complain if reviewing a patches-applied MP.

- Fix the iteration over search list entries in `git ubuntu build`.

- Fix LP: #1717960, which allows for `git ubuntu build` to do a
quiltify (similar to dgit) when building upstream changes not yet
stored in a quilt patch and a changelogify when no changelog entry has
been added. This allows a drive-by contribute to do something roughly
like: `git ubuntu clone <srcpkg>; cd <srcpkg>; git cherry-pick
<upstream commit>; git ubuntu build` and get a .deb that has the fix
applied for testing. The resulting Git tree is made into a single
commit which can be then proposed for uploading, or, more likely,
fixed up.

- Fix LP: #1717964, which allows for `git ubuntu lint` to do linting
of changes that may have changes that need to be converted to quilt

- Fix LP: #1706979, which allows `git ubuntu build` to build arbitrary
Git commitishes. The default is HEAD.

My current plan is as the changes I've asked for review get approved,
they will get pushed to the edge snap, but this branch snap allows for
some early exposure to new functionality).

More information about the ubuntu-server mailing list