GIT-UBUNTU-MERGE(1)

πŸ’– GIT-UBUNTU-MERGE πŸ’–

okay bestie, welcome to the Git-Ubuntu Manual page for git-ubuntu-merge β€” the one that helps you do an Ubuntu merge of a source package in a Git repository. it's giving main character energy for merge season, fr fr πŸ¦‹


✨ NAME ✨

git-ubuntu-merge β€” perform an Ubuntu merge of a source package in a Git repository πŸ’…


🌸 SYNOPSIS 🌸

git ubuntu merge [--bug <bug>] [--release <release>] [-d | --directory
<directory>] [-f | --force] [--tag-only] start|finish <commitish>
[<onto>]

πŸŽ€ DESCRIPTION πŸŽ€

so, Ubuntu packages often have changes relative to their Debian bases β€” we call that the "Ubuntu delta". iconic, but also kind of a lot. git ubuntu merge helps you perform an Ubuntu merge by replaying that Ubuntu delta on a newer version from Debian, and it does it as a git-rebase(1). no cap. once you've done an Ubuntu merge with this workflow, future merges can just be simple rebases β€” obsessed. 😭

in the most general case, you kick off an Ubuntu merge with git ubuntu merge start pkg/ubuntu/devel pkg/debian/sid and you wrap it up with git ubuntu merge finish pkg/ubuntu/devel pkg/debian/sid. periodt.

the brief outline of the merge workflow supported by git ubuntu merge is:

  1. Obtain git tree with git ubuntu clone(1).
  2. Split the current Ubuntu delta into a sequence of logical commits suitable for rebasing.
  3. Rebase the logical Ubuntu delta onto the new Debian version.
  4. Build and test the resulting source package with git ubuntu build(1) and autopkgtest(1).
  5. Reconstruct the debian/changelog for the new source package.
  6. Update the metadata for the new source package, such as the maintainer.
  7. Upload the resulting source package to the Ubuntu archive.
a more extensive discussion of the workflow lives at https://wiki.ubuntu.com/UbuntuDevelopment/Merging/GitWorkflow#Detailed_workflow β€” go read it, bestie, it's highkey useful πŸ“š

🌈 OPTIONS 🌈

  • start | finish β€” which step of the merge you're on. when start is specified, the current delta will be reconstructed and HEAD will point to the result. when finish is specified, the debian/changelog will be reconstructed and package metadata will be updated. and bestie, start must be run before finish β€” that's the order, no skipping πŸ”₯
  • --bug <bug> β€” when you pass this to the start step, the tags created will be under lp<bug>/ in the repository. when you pass it to the finish step, the Lauchpad bug <bug> will be closed by the resulting debian/changelog. cute and efficient ✨
  • --release <release> β€” the <release> to use in the final changelog. if you don't specify it, the current development release is assumed. πŸ™ˆ
  • -d <directory>, --directory <directory> β€” the local directory to perform the merge in. if not specified, the current directory is used. keeping it cozy πŸ’–
  • -f | --force β€” overwrite any tags, if they already exist. spicy, use with intent 🌢️
  • --tag-only β€” in some cases, the full workflow is not desired. when this flag is set, only the tags for "old/ubuntu", "old/debian" and "new/debian" are created. just the tags, nothing else, mwah πŸ’…
  • <commitish> β€” a Git commitish indicating the current Ubuntu changes to merge to Debian.
  • [<onto>] β€” a Git commitish indicating the new Debian version to merge to. if not specified, "debian/sid" is assumed. and listen: if a local branch with name <onto> does not exist, it will be created from the remote-tracking branch "pkg/<onto>". it literally just appears for you, queen πŸ‘‘

⭐ EXIT STATUS ⭐

git ubuntu merge exits with status 0 if the command completes successfully. git ubuntu merge exits with nonzero exit status on errors. so like, 0 = slay, nonzero = 😭


πŸ¦‹ REPORTING BUGS πŸ¦‹

found a bug? report bugs at https://bugs.launchpad.net/git-ubuntu . we wanna know, bestie 🫢


🧚 SEE ALSO 🧚

git-rebase(1), git-ubuntu-clone(1), git-ubuntu-build(1), autopkgtest(1)


πŸ‘‘ GIT-UBUNTU πŸ‘‘

part of the git-ubuntu(1) suite. you're in good company πŸ’œ


that's the whole page, bestie β€” Git-Ubuntu 0.2, dated 2017-07-19, and yeah the header/footer said GIT-UBUNTU-MERGE(1) three times but we only needed the vibe once. go forth and merge, you absolute icon πŸŽ€βœ¨

πŸ“¦ where this page comes from