From 2657a606b44b642acf64bb29ae177e7adde5887b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 31 Jul 2016 17:47:44 +0100 Subject: [PATCH] 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 --- dgit | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/dgit b/dgit index 7306d7d1..3137627d 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(); } -- 2.30.2