From: Ian Jackson To: debian-devel@lists.debian.org Subject: Survey: git packaging practices / repository format Date: Tue, 28 May 2019 16:51:10 +0100 While trying to write the dgit FAQ, and some of the relevant docs, it has become even more painfully obvious that we lack a good handle on what all the different ways are that people use git to do their Debian packaging, and what people call these formats/workflows, and what tools they use. Can you please look through the table below and see if I have covered everything you do ? In particular: - have I missed a git repository and history layout - have I missed a primary tool that should be mentioned - are any of the details wrong for workflows that you use ? Main packaging Delta from upstream Tools for manipulating git branch represented as delta from upstream, contains building .dsc, etc. Unmodified debian/patches gbp, gbp pq upstream files, (only) quilt / dquilt plus debian/* Manual patch editing incl. d/patches Modified Direct changes git merge upstream files, to upstream files (.dsc: 1.0-with-diff or plus debian/*. single-debian-patch) Maybe d/patches, depending. History has direct merges from upstream. Modified Direct changes to git-debrebase upstream files, upstream files. plus debian/* Sometimes d/patches. History is special git-debrebase rebasing topic branch format. Modified Direct changes to git-dpm upstream files, upstream files plus debian/*, plus d/patches, plus .git-dpm History is special git-dpm rebasing topic branch format. Only debian/*, d/patches, only; gbp ? with d/patches Baseline upstream: quilt/dquilt ? changelog version => upstream git tag Only debian/*, d/patches, only; gbp ? with d/patches Baseline upstream: quilt/dquilt ? changelog version => .orig tarball(s) Template debian/*. Patches in package- language-specific One branch for specific subdirectory; monorepo tooling, many packages. found in same branch Tooling to make Baseline upstream is d/control etc. named by reference somehow during build Thanks, Ian. -- Ian Jackson These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.