Sean Whitton writes ("Bug#886969: Problems with export-dsc and push-source on
arbitrary refs"):
> My conclusion is that
> - #886966 is wontfix
> - #886625 can still be implemented, using playtrees
> - #886969 should be the addition of an export-dsc cmd that takes no
> arguments, and might commit to the currently checked out branch, plus
> the deprecation of build-source (should export-dsc operate on git HEAD
> like push-source after #886625, or the working tree?)
>
> Can anyone see another way out?
I think both export-dsc and push-source on some arbitrary ref can work
if the quilt fixup is a no-op and there is no need to make a
pseudomerge (always the case for export-dsc, but in the case of
push-source might depend on whether we're in split brain mode,
--overwrite, etc.). This is always the case for Debian-native
packages, for example, and will often be the case for users of
git-debrebase and git-dpm.
> Another problem with advancing the ref in the case of export-dsc is that
> it is quite unintuitive for an export command to make changes to the
> thing that it is exporting. It's less bad when the thing that changes
> is the branch you already have checked out.
I agree. I think advancing the ref ought not to be done unless it's
HEAD (and the tree is clean).
So I think for push-source:
886966 push-source should be usable on arbitrary refs
886625 push-source should be usable no matter the state of the working tree
These should work iff there would be no need to make any new commits.
When pushing or exporting a non-HEAD ref, the working tree state
should be ignored.
If new commits are to be made (where in a dgit view or otherwise), the
user should check out the branch to be pushed.
For export-dsc:
886969 Replace 'build-source' with 'export-dsc'
We have a worse problem. What about split brain mode ? There is
nowhere to put the dgit view branch. This is less of a problem with
build-source because build-source is part of an upload workflow and
the dgit view will be reconstructed (probably, fished out of the
cache) during the subsequent push.
I am somewhat tempted to say that export-dsc should be forbidden with
split brain quilt modes.
Ian.
--
Ian Jackson <[email protected]> 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.