These are some best practices that the Ubuntu Studio Team uses when updating packaging. * Each commit should be self-contained. If there are changelog entries, include them in the commit. Non-trivial changes should get a changelog entry, and you can use the changelog entry as the commit message by running `debcommit [-a]`. * After each upload, a single commit should be done containing a new changelog entry. Similarly, `dch -r` (finalizing the packaging before an upload) should be in its own commit. * When a package is uploaded to the archive, the commit should be tagged, but the tag should only be pushed once the upload is accepted. You can subscribe to the -changes list for the development release (e.g. [[https://lists.ubuntu.com/mailman/listinfo/bionic-changes|bionic-changes]]) to know when this happens. * Packages not kept in Git should be converted to Git. This can be done in a variety of ways, one of which is to use [[https://github.com/mnauw/git-remote-bzr|git-remote-bzr]]. * Always add changelog entries in a stanza with an "UNRELEASED" distribution. When it's uploaded, the upload will have the proper codename. * Packages kept in Git should preferably follow a branch naming scheme of "ubuntu/$RELEASE" to keep it consistent, unless the package is only pushed to in the development release, in which case "master" should be the only branch used. * Packages should keep a current [[https://www.debian.org/doc/debian-policy/|Debian Policy]] compliance version and a current debhelper compat. They should also have `wrap-and-sort` ran on them from time-to-time to ensure cleanliness.