chiark / gitweb /
Split tags: Preparation: Reorganise tagwants and mktags
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jul 2016 16:57:11 +0000 (17:57 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 5 Sep 2016 12:41:47 +0000 (13:41 +0100)
commit26794272ebaac24b6e13795d0dfdeed35ec9e575
tree8d26db1a4e9294e92f5f69dba50b87bcec011bc8
parent2657a606b44b642acf64bb29ae177e7adde5887b
Split tags: Preparation: Reorganise tagwants and mktags

We are going to want to generate two tags.  The current code structure
is not really set up for this.  Also the knowledge of what tags are
being made needs to be used both in dopush and in the push responder.

So:
 * Introduce push_tagwants, which calculates which tags we are going
   to be making, including some details of them.
 * `View' indicates which tag this is.  For now there is only one,
   `dgit'.  But the tags are going to be in a defined order - or,
   at least, the `dgit' tag will come first.
 * Have push_parse_changelog no longer return the single tag name,
   and abolish the corresponding $i_tag varaiable.
 * push_mktag bcomes push_mktags and takes much of its instruction
   from @$tagwants.
 * push_mktags does more than just making tags - it also updates
   the dsc, and does some checks, so it needs to fish the relevant
   object id out of the dgit view tag.
 * $mktag in push_tagwants can now operate on a tagwant, and
   the tag-making part of push_mktags just iterates over the tagwants.
 * The filename plumbing in dopush is somewhat generalised: we
   collect the filenames out of push_mtags or responder_receive_files,
   and then substitute them into the tagwants.
 * The tag checking iterates over the tagwants.
 * The push spec computation iterates over the tagwants.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit