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.

Reply via email to