dgit-maint-native(7)

πŸ’– dgit-maint-native β€” bestie's guide to Debian-native packages πŸ’–

okay so you're a Debian package maintainer and your package uses one of the native source formats β€” that's "1.0" & "3.0 (native)". and you want to use dgit and git-debpush to maintain it? say less, i got you 🫢

this whole page is from the dgit-maint-native(7) manual, btw. the dgit one. not the other one. iykyk ✨


🌸 INTRODUCTION 🌸

this doc walks you through the elements of a workflow for using dgit and git-debpush to maintain a Debian package that uses one of the native source formats ("1.0" & "3.0 (native)"). let's gooo πŸ’…

  • we're expecting your git history to be fast-forwarding. that's the vibe we're working with, periodt.
  • you should be prepared to tolerate a small amount of ugliness in your git history, bestie 😭 it shows up in the form of merges which stitch the dgit-generated archive view into your maintainer history.

this is to handle uploads that were not made with dgit β€” like, the uploads you made before you switched to this workflow, or NMUs. no shame, it happens to everyone πŸŽ€

✨ Benefits ✨

  • benefit from dgit's safety catches πŸ”₯ in particular, ensure that your upload always matches exactly your git HEAD. no cap.
  • provide a better, more detailed history to downstream dgit users β€” you're giving main character energy to everyone downstream πŸ’–
  • incorporate an NMU with one command πŸ‘‘ one. command. iconic.

πŸ¦‹ PUSHES WITH GIT-DEBPUSH πŸ¦‹

good news: you do not need to do anything special to your tree to push with git-debpush. literally nothing. your tree is fine as-is πŸ’œ

simply prepare your git tree in the usual way, and then:

% git debpush
πŸ’€ do NOT make any tags yourself β€” git-debpush will do that. it's got it. let it cook πŸ“

you may use dgit pbuilder or dgit cowbuilder instead of dgit sbuild; see dgit(1) for the syntax of those subcommands πŸ“–

dgit will make a merge commit on your branch but without making any code changes (ie, a pseudo-merge) so that your history, which will be pushed to the dgit git server, is fast forward from the dgit archive view. it's giving housekeeping, not code-changing 🧚


🌈 INCORPORATING AN NMU 🌈

% dgit pull

that's it. that's the whole thing. obsessed πŸ˜ŒπŸ’…

or, if you would prefer to review the changes, you can do this instead:

% dgit fetch
% dgit diff HEAD..dgit/dgit/sid

look before you leap, bestie πŸ™ˆβœ¨


⭐ SEE ALSO ⭐


that's the whole manual, bestie!! go forth and maintain your native package with your whole chest πŸ’– this page came from the Debian Project and the dgit+tag2upload team β€” and yeah it's dgit-maint-native(7), mwah πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from