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 <ijack...@chiark.greenend.org.uk>   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.

Reply via email to