chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Dgit.pm: break out git_check_unmodified from dgit
[dgit.git]
/
Debian
/
Dgit.pm
diff --git
a/Debian/Dgit.pm
b/Debian/Dgit.pm
index a4ec3774099192941153e4557b3eb7520a992c71..7da60f664cb079438213fa95f70a7a899ab99d98 100644
(file)
--- 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_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
$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);
sub is_fast_fwd ($$) {
my ($ancestor,$child) = @_;
my @cmd = (qw(git merge-base), $ancestor, $child);