Web lists-archives.com

Survey: git packaging practices / repository format




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 <ijackson@xxxxxxxxxxxxxxxxxxxxxx>   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.