diff options
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -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(); } |