Hi. I'm here to plug dgit, which is a system for treating the Debian
archive like a git remote.
-I'm going to talk for about 25 minutess and then I'll take questions.
+I'm going to try to keep my talk fairly short to leave time for
+questions. Please save your questions for the end.
Firstly, a bit of framing.
directly from dgit's objectives.
The most important requirement is that your git tree is identical to
-the unpacked source package.
+the unpacked source package. This is the whole point of dgit, because
+it enables dgit to always present to the user a working tree which is
+the same as they would get from apt-get source.
+
+
+=== Status table slide
For all native and source format 1.0 packages (which will include
-people using raw git to manage their delta from upstream), this is
-already the interchange format. These maintainers can start using
-dgit right away for all their maintainer uploads. Please do!
+people using raw git to manage their delta from upstream), a git tree
+identical to the source package is already the interchange git branch
+format. These maintainers can start using dgit right away for all
+their maintainer uploads. Please do!
The other requirement of dgit is simply that the dgit branches are
fast-forwarding. So if your tools have made a rebasing branch, you
haven't decided the exact shape yet.
-=== Status table slide
-
For `3.0 (quilt)' packages, things are more complicated. The purpose
of dgit is to provide a git view which is identical to the source
package, and can be worked on without knowledge of the maintainer's
package history.
-==== dgit requirements slide
+==== data flow slide with EQUAL and FF
But the most obvious challenge for a maintainer with an existing git
branch, but trying to use dgit, is dgit's insistence that the source
And a second way dgit's rule can bite is .gitignore. Most existing
packaging tools remove .gitignore from source packages by default.
-But, dgit dgit requires that the source package and git tree are the
-same, so if your git tree has .gitignore in it, your source package
-should too.
+But, dgit requires that the source package and git tree are the same,
+so if your git tree has .gitignore in it, your source package should
+too.
==== manpage slide
differently to the underlying tool, is pass some appropriate -I
options, to exclude exactly and only the .git directory.
+With `1.0' this is sufficient. With `3.0 (quilt)', there is more work
+to be done in the tools, as I mentioned earlier.
+
==== manpage clean slide
around to:
+I need to implement the automatic adjustment of git-buildpackage and
+git-dpm's git trees into the dgit branch format, and perhaps provide
+some additional helper tools.
+
+
dgit can't currently upload to DELAYED queues, which makes it a bit
awkward for a fire-and-forget NMU. One way to implement this would be
to push to the suite branch but send the package upload to DELAYED.