From: Ian Jackson Date: Sun, 17 Jul 2016 13:21:42 +0000 (+0100) Subject: Tag change: Declare intent in docs etc. X-Git-Tag: archive/debian/2.0~247 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=2fe42d36da42a62e8082d0d1c4c35943e8281e9e Tag change: Declare intent in docs etc. Provide debiantag_new as well as debiantag_old. Change the docs and an important comment. Signed-off-by: Ian Jackson --- diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 979dd427..fb983c1a 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -19,7 +19,7 @@ BEGIN { $VERSION = 1.00; @ISA = qw(Exporter); @EXPORT = qw(setup_sigwarn - debiantag_old server_branch server_ref + debiantag_old debiantag_new server_branch server_ref stat_exists link_ltarget hashfile fail ensuredir executable_on_path @@ -131,6 +131,12 @@ sub debiantag_old ($$) { return "$distro/$v"; } +sub debiantag_new ($$) { + my ($v,$distro) = @_; + $v =~ y/~:/_%/; + return "archive/$distro/$v"; +} + sub server_branch ($) { return "$branchprefix/$_[0]"; } sub server_ref ($) { return "refs/".server_branch($_[0]); } diff --git a/TODO.BRANCH b/TODO.BRANCH index 93eda99f..b2908422 100644 --- a/TODO.BRANCH +++ b/TODO.BRANCH @@ -6,8 +6,6 @@ Tag rename unfinished business - i_resp_previously, previously should include which tags ? replay prevention all of them - rpush negotiation for which tag to sign - - big comment in dgit-repos-server (search for `we are updating only') - - dgit-repos-server readupdates tag regexp - test suite tests/lib - many actual tests diff --git a/dgit.7 b/dgit.7 index f594093b..d57cff72 100644 --- a/dgit.7 +++ b/dgit.7 @@ -32,8 +32,9 @@ normally the dgit-repos repo for the package will be accessible via the remote name `origin'. dgit push will also make signed tags called -.BI debian/ version -(a la DEP-14) and push them to dgit-repos. These are used at the +.BI archive/debian/ version +(with version encoded a la DEP-14) +and push them to dgit-repos. These are used at the server to authenticate pushes. dgit push can operate on any commit which is a descendant of the diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index ea223a0c..3c873419 100755 --- a/infra/dgit-repos-server +++ b/infra/dgit-repos-server @@ -69,7 +69,7 @@ setup_sigwarn(); # as a result of this the stunt pre-receive hook runs; it does this: # + understand what refs we are allegedly updating and # check some correspondences: -# * we are updating only refs/tags/DISTRO/* and refs/dgit/* +# * we are updating only refs/tags/[archive/]DISTRO/* and refs/dgit/* # * and only one of each # * and the tag does not already exist # and @@ -86,7 +86,7 @@ setup_sigwarn(); # * the signed tag must refer to a commit # * the signed tag commit must be the refs/dgit value # * the name in the signed tag must correspond to its ref name -# * the tag name must be debian/ (massaged as needed) +# * the tag name must be [archive/]debian/ (massaged as needed) # * the suite is one of those permitted # * the signed tag has a suitable name # * run the "push" policy hook