summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-02-15 18:45:17 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-16 12:25:49 +0100
commitf90d29c48dd4183174dd08f36d03e9db81636eb0 (patch)
tree179ac54aa4bed29183f044b67afd08bb3c4abf36
parent942637ea633f1c9dc0be2534a660296a76b87e27 (diff)
Dgit.pm: break out git_check_unmodified from dgit
We (have to) use just "git" rather than @git, but this is OK I think. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rw-r--r--Debian/Dgit.pm13
-rwxr-xr-xdgit10
2 files changed, 14 insertions, 9 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index a4ec377..7da60f6 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -51,6 +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
$package_re $component_re $deliberately_re
$distro_re $versiontag_re $series_filename_re
$extra_orig_namepart_re
@@ -443,6 +444,18 @@ sub git_for_each_tag_referring ($$) {
});
}
+sub git_check_unmodified () {
+ my @cmd = qw(git diff --quiet HEAD);
+ debugcmd "+",@cmd;
+ $!=0; $?=-1; system @cmd;
+ return if !$?;
+ if ($?==256) {
+ fail "working tree is dirty (does not match HEAD)";
+ } else {
+ failedcmd @cmd;
+ }
+}
+
sub is_fast_fwd ($$) {
my ($ancestor,$child) = @_;
my @cmd = (qw(git merge-base), $ancestor, $child);
diff --git a/dgit b/dgit
index 573f39a..17e4fad 100755
--- a/dgit
+++ b/dgit
@@ -3692,15 +3692,7 @@ sub check_not_dirty () {
return if $ignoredirty;
- my @cmd = (@git, qw(diff --quiet HEAD));
- debugcmd "+",@cmd;
- $!=0; $?=-1; system @cmd;
- return if !$?;
- if ($?==256) {
- fail "working tree is dirty (does not match HEAD)";
- } else {
- failedcmd @cmd;
- }
+ git_check_unmodified();
}
sub commit_admin ($) {