Package: dgit Version: 6.2 Control: block 905256 by -1 Control: block 905257 by -1 Control: block 891033 by -1
There is a pattern where people add personal wrapper scripts to encasulate their workflow. This is of course a fine thing. But we would like as much as possible to be made as smooth as possible as easily as possible. That probably means we should have standard functionality for these things, maintained in src:dgit. To avoid making more and more wrappers for wrappers, I suggest hooks instead. In particular, the bugs I am marking here as blocked could be implemented this way. I suggest hooks at the following places: * During push or push-source: - after constructing the .dsc - after constructing the .changes (before .dsc Dgit field insertion), but after all other checks - after push is complete * During quilt fixup - alwyas, before we check the source format - after checking the source format and deciding whether we are in split brain mode - just before pulling the changes (if any) back into HEAD - after all quilt fixup is allegedly done All run from $maindir. git supports multi-valued config options, but the support is really poor. In particular, it is not possible for a more nearby config to "remove" entries from a more global config. So we should instead expect single values with some kind of separator. I suggest the following rules: * ;-separated list * entries are shell commands for /bin/sh * DGIT_HOOK_ environment variables giving various useful filenames etc. * s{^ *-}{dgit-hook-} And then we can ship dgit-hook-deborig dgit-hook-pushpush dgit-hook-changelog and you can write git config --global dgit-distro.debian.hook-post-push -pushpush and the default will be to just git push your current remote to its usual upstream, if there is one. Or git config --global dgit.default.hook-post-push \ '-pushpush; -changelog --unfinalised' -- 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.