After some internal bikeshedding, we decided to rework the tooling that the Server Team has been working on for git-based source package management. The old tool was
usd (Ubuntu Server Dev), as it stemmed from a Canonical Server sprint in Barcelona last year. That name is confusing (acronyms that aren’t obvious are never good) and really the tooling had evolved to be a
So, we renamed everything to be
git is awesome, that means
git ubuntu also works as long as
git-ubuntu is in your
$PATH. The snap (previously
usd-nacc) has been deprecated in favor of
git-ubuntu (it still exists, but if you try to run, e.g.,
usd-nacc.usd you are told to install the
git-ubuntu snap). To get it, use:
sudo snap install --classic git-ubuntu
We are working on some relatively big changes to the code-base to release next week:
- Empty directory support (LP: #1687057). My colleague Robie Basak implemented a workaround for upstream
gitnot being able to represent empty directories.
- Standardizing (internal to the code) how the remote(s) work and what refspecs are used to fetch from them.
Along with those architectural changes, one big functional shift is to using
git-config to store some metadata about the user (specifically, the Launchpad user name to use, in
~/.gitconfig) and the command used to create the repository (specifically, the source package name, in
<dir>/.git/config). I think this actually ends up being quite clean from an end-user perspective, and it means our APIs and commands are easier to use, as we can just lookup this information from
git-config when using an existing repository.
As always, the latest code is at: https://git.launchpad.net/usd-importer