Provide debiantag_new as well as debiantag_old. Change the docs
and an important comment.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(setup_sigwarn
$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
stat_exists link_ltarget
hashfile
fail ensuredir executable_on_path
+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]); }
sub server_branch ($) { return "$branchprefix/$_[0]"; }
sub server_ref ($) { return "refs/".server_branch($_[0]); }
- i_resp_previously, previously should include which tags ?
replay prevention all of them
- rpush negotiation for which tag to sign
- 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
- test suite tests/lib
- many actual tests
the remote name `origin'.
dgit push will also make signed tags called
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
server to authenticate pushes.
dgit push can operate on any commit which is a descendant of the
# 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:
# 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
# * and only one of each
# * and the tag does not already exist
# and
# * 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 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/<version> (massaged as needed)
+# * the tag name must be [archive/]debian/<version> (massaged as needed)
# * the suite is one of those permitted
# * the signed tag has a suitable name
# * run the "push" policy hook
# * the suite is one of those permitted
# * the signed tag has a suitable name
# * run the "push" policy hook