chiark / gitweb /
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>