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.