chiark / gitweb /
ref updates: Honour GIT_REFLOG_ACTION everywhere.
[dgit.git] / Debian / Dgit.pm
index 57b79e8a195dfdc35f2c12540ec652935ad81479..0a99faa4c2864dd0e543628561f09cf3c74ae560 100644 (file)
@@ -51,7 +51,7 @@ BEGIN {
                       git_rev_parse git_cat_file
                      git_get_ref git_get_symref git_for_each_ref
                       git_for_each_tag_referring is_fast_fwd
-                     git_check_unmodified
+                     git_check_unmodified git_update_ref_cmd
                       $package_re $component_re $deliberately_re
                      $distro_re $versiontag_re $series_filename_re
                      $extra_orig_namepart_re
@@ -492,6 +492,15 @@ sub is_fast_fwd ($$) {
     }
 }
 
+sub git_update_ref_cmd {
+    # returns  qw(git update-ref), qw(-m), @_
+    # except that message may be modified to honour GIT_REFLOG_ACTION
+    my $msg = shift @_;
+    my $rla = $ENV{GIT_REFLOG_ACTION};
+    $msg = "$rla: $msg" if length $rla;
+    return qw(git update-ref -m), $msg, @_;
+}
+
 sub changedir ($) {
     my ($newdir) = @_;
     printdebug "CD $newdir\n";