Hello,

I felt a desire to write some entries.

I would like to just get this published on the Debian wiki as soon as
possible; let me know if you really want to avoid that, Ian.

~ ~ ~ ~ ~

Q: Why should I bother to learn how to use dgit?

A: If you incorporate `dgit push-source` into your workflow, then you
will be providing your git history to Debian's users and downstreams in
a way that is more useful to them than adding a `Vcs-Git` header.

If you think that a package maintainer's git history should be provided
to users because it is part of the preferred format for modification,
then dgit is the easiest way to provide it.

Specifically, if you incorporate `dgit push-source` into your workflow,
you provide your git history to your users in a form known as the *dgit
view*.  The dgit view of a package is designed to be what someone who
knows git, but does not know Debian-specific practices, would expect.

You don't have to think about difference between the maintainer view and
the dgit view (if any), because dgit will perform that conversion for
you when you upload.  It does this in a way which does not hide the
maintainer's git history.  I.e. the dgit view is constructed from the
maintainer's git history, not from the `.dsc`.  has some additional
commits appended to convert your maintainer history into the dgit view.

There are also minor conveniences for maintainers in using dgit, which
together mean that you have to think less about the idiosyncracies of
uploading to the Debian archive and more about the contents of your
package.

~ ~ ~ ~ ~

Q: Do I need to change my git workflow in order to use dgit?

A: In principle, no.  It is a design goal of dgit that you don't have to
do that.

However, dgit does have to be taught about each Debian git workflow in
order that users of that workflow can start using dgit, and there are
some git workflows out there for which support has not yet been added.

git-buildpackage and git-dpm users are fully supported and that support
is stable and well-tested.  See dgit-maint-gbp(7) and dgit-maint-dpm(7).

~ ~ ~ ~ ~

Q: Why is dgit so fussy / Why are dgit's error messages so difficult?

A: dgit tries very hard to avoid a number of different possible mistakes
in your uploads.  The result of this is that you have to think less hard
about the idiosyncracies of uploading to the Debian archive, and focus
more on the contents of your package.

However, while dgit is good at emitting error messages at the right
times, the error messages that it emits are definitely not as helpful
and easy to understand as we want them to be.  Bug reports are welcome.
The dgit developers already know what's going on, so it is difficult for
us to univocally improve the error output.

~ ~ ~ ~ ~

Q: Does everyone on my team have to be using dgit in order for me to use
it to upload team-maintained packages.

A: No.  dgit copes just fine with interspersed dgit and non-dgit
uploads.  Your use of dgit will not disrupt the work of other people on
your team.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to