summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
Diffstat (limited to 'dgit')
-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();
}