Package: dgit
Version: 4.2
Severity: wishlist

Hello,

In my mind, the command

    % dgit push-source unstable

ought to be as closely analogous as we can make it to the (as yet)
fictional command

    % git push ftp-master HEAD:master

One important part of rendering these commands analogous is that
push-source takes care of preparing the _source.changes.  While `dgit
push` requires the user to run two commands -- build and then push --
`dgit push-source` is a single-step operation, just like `git push`.

A present point of disanalogy is that `git push` operates on git HEAD
alone, and will work no matter the state of the working tree.  By
contrast, `dgit push-source` requires a clean working tree because it
needs to invoke dpkg-source on a clean tree.

It would be better if `dgit push-source` could operate on HEAD alone, no
matter the state of the working tree.  That would render it closer to
pure `git push`.  Perhaps build_source() could set up a private git
worktree and invoke dpkg-source on that -- though we need to think about
whether `dgit build-source` too should operate only on HEAD, rather than
the working tree as at present.

(This change seems more appropriate now that build_source() uses
dpkg-source instead of dpkg-buildpackage; working trees are for real
builds, and are overkill for packing up source code to update archives.)

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to