PITCH [manpage] uniform operation interacts with archive, not just with out-of-archive git trees NMUer, derivatives clone any package, work on it, and upload, all in git no need to know maintainer's workflow for maintainer any fast forwarding patches-applied git workflow full upstream git history in our git history demo PRINCIPLES OF OPERATION data model .dsc contains git hash git hash specifies a commit whose tree is identical to the results of dpkg-source -x actual git data obtained from git server via git protool, not from the archive fetch 1. get .dsc information from archive 2. get previous dgit git history from git server 3. if necessary, synthesise a commit to represent non-dgit upload push user has done build already (need for this may go away with source-only uploads) 1. if `3.0 (quilt)', dpkg-source commit 2. fetch and check for ff-ness 3. check .dsc from build corresponds to git tree 4. insert git commit hash into .dsc, sign everything, git push, dput QUILTY WORKFLOW NON-FAST-FORWARDING ( not well support ACCESS PROBLEMS works well for DDs works badly for everyone else :-/ serious problem, needs escalating access limitations ssh cocca psql -c SELECT BLAH ftpmaster have a plan to help with this but has not been implemented alioth collab-maint push by signed tag need to abandon alioth because of collab-maint security issues