GIT-UBUNTU(1)
π NAME π
git-ubuntu β use Git with a Launchpad hosted source package repository
πΈ SYNOPSIS πΈ
git ubuntu [-h] [-v | --verbose] [--retries <num_retries>] [--retry-backoffs <backoff,...>] [--proto <proto>] [-P | --parentfile <parentfile>] [-L | --pullfile <pullfile>] <command> [<args>]
β¨ DESCRIPTION β¨
okay bestie, sit with me for a sec because this one's genuinely iconic. π
Ubuntu packages very often have changes sitting on top of their Debian bases, and we call that the "Ubuntu delta". git ubuntu is literally a whole collection of tools for dealing with those deltas, and the way that it's built is as git(1) subcommands. no cap.
Part of this work gets done automatically by the "importer", which trusts the Launchpad repository as its source of truth about a given source package's publishing history. The rest of the work has to be handled manually, and that's exactly what git ubuntu's set of commands (detailed below, keep scrolling) are for.
A key concept you NEED to understand for the git ubuntu workflow is the formalized use of git tags to track version states. These tags will look something like logical/1%2.3.4.1-1ubuntu3. (Git and debian/changelog genuinely conflict on the use of certain reserved characters, such as "~", ":" and ".". These get resolved following the Debian DEP14 version number transformation standard. periodt.)
The tag types used by git ubuntu are "logical/", "split/", The first four forms are standardized for git-ubuntu usage and generate tags, respectively, "logical/%(version)s", "split/%(version)s", "reconstruct/%(version)s", "upload/%(versions)s", where "%(versions)" will be replaced by the DEP14 mangling of the last version in debian/changelog as present in <commitish>. The last form allows free-form formatting.
The benefit of using these tools and this formalized tagging system is to simplify future merges from Debian, allowing them to be done as straightforward git rebase operations. obsessed. π¦
π OPTIONS π
The following options are common to all git-ubuntu subcommands. (yes, ALL of them, they're the group-chat regulars. π«Ά)
-h,--helpβ Prints the synopsis and a list of the most commonly used commands.-v,--verboseβ Makes git ubuntu verbose. Useful for debugging and seeing what underlying commands are run.--retries <num_retries>β Number of retries to attempt for network interactions with Launchpad. The default is 5 retry attempts.--retry-backoffs <backoff,...>β Comma-separated list of backoff durations (in seconds) to use between retry attempts. The default is exponential backoff (with the default--retriesvalue, this corresponds to 1, 2 and 4 seconds between subsequent retry attempts).--proto <proto>β Protocol to use when fetching the configured repositories."git","http"and"https"are valid options, with"https"the default.-p <parentfile>,--parentfile <parentfile>β Path to a parent overrides file. The import algorithm cannot always correctly determine the parenting relationship between source package publications, particularly for older historical publications. git ubuntu needs a mechanism to be told what the parents of a publication are when they cannot be correctly deduced. The parentfile specifies this information in the following format:
<pkgname> <child version> <publish parent version> <changelog parent version>
with one override per line. A default override file is provided with git ubuntu and end-users generally do not need to provide this option.
-l <pullfile>,--pullfile <pullfile>β Path to a pull overrides file. If the Launchpad source package data is inaccurate for a publish (this happens, for example, when a same-versioned source package is published multiple times with different orig tarballs), git ubuntu needs a mechanism to be told where to obtain accurate sources from. The pullfile specifies this information in the following format:
<pkgname> <version> <url of dsc file> <urls of orig files>
with one package per line. "-" for the dsc file indicates to use the one from launchpad. A default override file is provided with git ubuntu and end-users generally do not need to provide this option.
π GIT UBUNTU COMMANDS π
git-ubuntu-clone(1)β Clone a repository into a new directory.git-ubuntu-export-orig(1)β Export orig tarballs from the Git repository.git-ubuntu-import(1)β Import the Launchpad publishing history of a source package into a repository.git-ubuntu-merge(1)β Perform an Ubuntu merge.git-ubuntu-queue(1)β Interact with the unapproved queue.git-ubuntu-remote(1)β Manage tracked repositories.git-ubuntu-submit(1)β Submit changes to a repository as a Launchpad Merge Proposal.git-ubuntu-tag(1)β Create a tag object, respecting DEP14.
π EXIT STATUS π
git ubuntu exits with status 0 if a command completes successfully. git ubuntu exits with nonzero exit status on errors.
π FILES π
$GIT_DIR/.gitconfig,$HOME/.gitconfigβ Some git ubuntu configuration is stored viagit configin both the global user and repository local level files. Specificially:
gitubuntu.lpuser
Stores the Launchpad user name for authentication in the global user file.
π REPORTING BUGS π
Report bugs at https://bugs.launchpad.net/git-ubuntu .
π AUTHORS π
git ubuntu was started conceptually by Robie Basak, and is currently maintained by the Ubuntu Server team. Numerous contributions have been made over the years by those listed in the AUTHORS file.
π§ SEE ALSO π§
git(1)- https://wiki.ubuntu.com/UbuntuDevelopment/Merging/GitWorkflow
- http://www.justgohome.co.uk/blog/2017/07/developing-ubuntu-using-git.html
β GIT-UBUNTU β
Part of the git-ubuntu(1) suite
and that's the whole page, bestie!! πβ¨ this one is Git-Ubuntu 0.2, dated 2017-07-19, from the git-ubuntu(1) manual β go read it and go slay your merges fr fr ππ¦π
π¦ where this page comes from
- ubuntu stonking: git-ubuntu 1.2-3 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms