Main packaging git branch contains - Delta from upstream represented as - Tools for manipulating delta from upstream, building .dsc, etc. ================================================== Unmodified upstream files, plus debian/* incl. d/patches - debian/patches (only) - quilt / dquilt Manual patch copying Manual patch editing Possibly gbp for building ================================================== Modified upstream files, plus debian/*. Maybe d/patches, depending. History has direct merges from upstream. - Direct changes to upstream files - git merge (.dsc: 1.0-with-diff or single-debian-patch) ================================================== Modified upstream files, plus debian/* Sometimes d/patches. History is special git-debrebase rebasing topic branch format. - Direct changes to upstream files. - git-debrebase ================================================== Modified upstream files, plus debian/*, plus d/patches, plus .git-dpm History is special git-dpm rebasing topic branch format. - Direct changes to upstream files - git-dpm ================================================== Only debian/*, with d/patches - d/patches, only; Baseline upstream: changelog version => upstream git tag - gbp ? quilt/dquilt ? ================================================== Only debian/*, with d/patches - d/patches, only; Baseline upstream: changelog version => .orig tarball(s) - gbp ? quilt/dquilt ? ================================================== Template debian/*. One branch for many packages. Tooling to make d/control etc. during build - Patches in package- specific subdirectory; Baseline upstream is named by reference somehow - language-specific monorepo tooling, found in same branch ==================================================