GIT-DEBORIG(1)
π git-deborig β the manual, but make it make sense
okay bestie, so this is git-deborig from the Debian Utilities crew, and no cap, it's the little script that could. Let's get into it β¨
π NAME π
git-deborig β it literally tries to produce a Debian orig.tar for you using git-archive(1). That's the whole job. She's focused. She's iconic. She does one thing and she slays at it π
πΈ SYNOPSIS πΈ
git deborig [--force|-f] [--just-print|--just-print-tag-names]
[--version=VERSION] [COMMITTISH]
π¦ DESCRIPTION π¦
So here's the vibe: git-deborig tries to produce the orig.tar you need for your upload by calling git-archive(1) on an existing git tag or branch head. That's it, that's the whole main character moment π«Ά
It was written with the dgit-maint-merge(7) workflow in mind β like, that's its home turf β but lowkey it can be used with other workflows too. She's flexible like that π
git-deborig will try several common tag names, bestie. And if that fails? Or if more than one of those common tags are present (chaos, honestly π)? Then you can just specify the tag or branch head to archive on the command line β that's the COMMITTISH up there in the synopsis. You're in charge π
Also, super important: git-deborig will override gitattributes(5) that would cause the contents of the tarball generated by git-archive(1) to not be identical with the commitish archived. The two attributes it's overriding are export-subst and export-ignore. Like, not it trying to change your tarball behind your back, we don't do that here π
And one more thing β git-deborig should be invoked from the root of the git repository, which should contain debian/changelog. Root of the repo, got it? Not some random subdirectory, bestie. β¨
β¨ OPTIONS β¨
-f,--forceβ overwrite any existingorig.tarin the parent directory. Like, yes, we're doing this, the old one is getting replaced ποΈ--just-printβ instead of actually invokinggit-archive(1), it outputs information about how it would be invoked. Also, heads up: it ignores--force. π
ok so real talk β running thegit-archive(1)invocation that gets outputted with this option may not produce the same output. Why? Becausegit-deborigtakes care to disable git attributes otherwise heeded bygit-archive(1), as detailed up above. So don't be surprised, it's giving "trust me bro" but with a legit reason π§
--just-print-tag-namesβ instead of actually invokinggit-archive(1), or even checking which tags exist (she's not even looking π), print the tag names we would consider for the upstream version number in the first entry in the Debian changelog, or the one supplied with--version.--version=VERSIONβ instead of reading the new upstream version from the first entry in the Debian changelog, just useVERSION. You tell her the number, she uses the number. Simple as that π
π SEE ALSO π
go read those too, iykyk π
π AUTHOR π
git-deborig was written by Sean Whitton <spwhitton@spwhitton.name>. absolute legend, fr fr π
Debian Utilities Β· 2025-08-15 Β· that's the source/version and date bestie, so if you're citing this page in your essay, there you go π mwah, go archive something pretty πβ¨
π¦ where this page comes from
- debian trixie: devscripts 2.25.15+deb13u1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms