summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-07-31 17:47:44 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-09-05 13:41:47 +0100
commit2657a606b44b642acf64bb29ae177e7adde5887b (patch)
treebb6aee06c2498db3707a38ce5278826f2868e49e
parent12ece166a931d546fc6d152f253f7b78e7478dc7 (diff)
Split tags: Preparation: Break out (and fix) need_tagformat
No major functional change. However, we do preserve the previous override value, so that need_tagformat's caller is happy, we still override the access configuration. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xdgit15
1 files changed, 10 insertions, 5 deletions
diff --git a/dgit b/dgit
index 7306d7d..3137627 100755
--- a/dgit
+++ b/dgit
@@ -1138,6 +1138,15 @@ sub access_cfg_tagformats () {
split /\,/, access_cfg('dgit-tag-format');
}
+sub need_tagformat ($$) {
+ my ($fmt, $why) = @_;
+ fail "need to use tag format $fmt ($why) but also need".
+ " to use tag format $tagformat_want->[0] ($tagformat_want->[1])".
+ " - no way to proceed"
+ if $tagformat_want && $tagformat_want->[0] ne $fmt;
+ $tagformat_want = [$fmt, $why, $tagformat_want->[2] // 0];
+}
+
sub select_tagformat () {
# sets $tagformatfn
return if $tagformatfn && !$tagformat_want;
@@ -2398,11 +2407,7 @@ sub cmd_remote_push_responder { cmd_remote_push_build_host(); }
sub rpush_handle_protovsn_bothends () {
if ($protovsn < 4) {
- fail "rpush negotiated protocol version $protovsn".
- " which supports old tag format only".
- " but trying to use new format (".$tagformat_want->[1].")"
- if $tagformat_want && $tagformat_want->[0] ne 'old';
- $tagformat_want = ['old', "rpush negotiated protocol $protovsn", 0];
+ need_tagformat 'old', "rpush negotiated protocol $protovsn";
}
select_tagformat();
}