chiark / gitweb /
Dgit.pm: git_for_each_tag_referring provides referred-to object id too
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 4f0329a49932b21caf94395785b6eb4bf167e551..1e348f366858c775bb9a31bffb567fc513f03806 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1271,22 +1271,6 @@ sub ensure_we_have_orig () {
     }
 }
 
-sub rev_parse ($) {
-    return cmdoutput @git, qw(rev-parse), "$_[0]~0";
-}
-
-sub is_fast_fwd ($$) {
-    my ($ancestor,$child) = @_;
-    my @cmd = (@git, qw(merge-base), $ancestor, $child);
-    my $mb = cmdoutput_errok @cmd;
-    if (defined $mb) {
-       return rev_parse($mb) eq rev_parse($ancestor);
-    } else {
-       $?==256 or failedcmd @cmd;
-       return 0;
-    }
-}
-
 sub git_fetch_us () {
     runcmd_ordryrun_local @git, qw(fetch),access_giturl(),fetchspec();
 }
@@ -1658,7 +1642,7 @@ sub dopush ($) {
 #    runcmd @git, qw(fetch -p ), "$alioth_git/$package.git",
 #        map { lref($_).":".rref($_) }
 #        (uploadbranch());
-    my $head = rev_parse('HEAD');
+    my $head = git_rev_parse('HEAD');
     if (!$changesfile) {
        my $multi = "$buildproductsdir/".
            "${package}_".(stripepoch $cversion)."_multi.changes";
@@ -1683,7 +1667,7 @@ sub dopush ($) {
 
     if ($forceflag && defined $lastpush_hash) {
        git_for_each_tag_referring($lastpush_hash, sub {
-           my ($objid,$fullrefname,$tagname) = @_;
+           my ($objid,$refobjid,$fullrefname,$tagname) = @_;
            responder_send_command("supersedes $fullrefname=$objid");
            $supersedes{$fullrefname} = $objid;
        });
@@ -2403,7 +2387,7 @@ sub build_maybe_quilt_fixup () {
     #     6. Back in the main tree, fast forward to the new HEAD
 
     my $clogp = parsechangelog();
-    my $headref = rev_parse('HEAD');
+    my $headref = git_rev_parse('HEAD');
 
     prep_ud();
     changedir $ud;