summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2013-09-24 23:02:50 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2013-09-24 23:02:50 +0100
commitd21df6106426d18407e43473af1be1f417cbc6f4 (patch)
treeef14fa4789b7e3871d25533f46efcb68b1db65d3
parent251174a2cc06e0cd3041c0b97b9fc687902979fc (diff)
wip changes for remote push - make tag ourselves
-rwxr-xr-xdgit14
1 files changed, 11 insertions, 3 deletions
diff --git a/dgit b/dgit
index 949d22c..3162c60 100755
--- a/dgit
+++ b/dgit
@@ -994,13 +994,21 @@ END
$keyid = access_cfg('keyid','RETURN-UNDEF');
}
unlink $tfn->('.tmp.asc') or $!==&ENOENT or die $!;
- my @sign_cmd = (@gpg, qw(--clearsign --armor));
+ my @sign_cmd = (@gpg, qw(--detach-sign --armor));
push @sign_cmd, qw(-u),$keyid if defined $keyid;
push @sign_cmd, $tfn->('.tmp');
runcmd_ordryrun @sign_cmd;
- if (!$dry
- runcmd_ordryrun @
+ if (!$dryrun) {
+ $tagobjfn = $tfn->('.signed.tmp')
+ runcmd shell_cmd "> $tagobjfn", qw(cat --),
+ $tfn->('.tmp'), $tfn->('.tmp.asc');
+ }
}
+ my $tag_obj_hash = runcmd @git, qw(hash-object -w -t tag), $tagobjfn;
+ runcmd_ordryrun @git, qw(verify-tag), $tag_obj_hash;
+ runcmd_ordryrun @git, qw(update-ref), "refs/tags/$tag", $tag_obj_hash;
+ runcmd_ordryrun @git, qw(tag -v --), $tag;
+
if (!check_for_git()) {
create_remote_git_repo();
}