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 d086cbe50d36d33e14cea82de5f00b8b367d569a..7da60f664cb079438213fa95f70a7a899ab99d98 100644
(file)
--- a/
Debian/Dgit.pm
+++ b/
Debian/Dgit.pm
@@
-51,8
+51,10
@@
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
$package_re $component_re $deliberately_re
$distro_re $versiontag_re $series_filename_re
+ $extra_orig_namepart_re
$branchprefix
initdebug enabledebug enabledebuglevel
printdebug debugcmd
$branchprefix
initdebug enabledebug enabledebuglevel
printdebug debugcmd
@@
-80,6
+82,7
@@
our $distro_re = $component_re;
our $versiontag_re = qr{[-+.\%_0-9a-zA-Z/]+};
our $branchprefix = 'dgit';
our $series_filename_re = qr{(?:^|\.)series(?!\n)$}s;
our $versiontag_re = qr{[-+.\%_0-9a-zA-Z/]+};
our $branchprefix = 'dgit';
our $series_filename_re = qr{(?:^|\.)series(?!\n)$}s;
+our $extra_orig_namepart_re = qr{[-0-9a-z]+};
# policy hook exit status bits
# see dgit-repos-server head comment for documentation
# policy hook exit status bits
# see dgit-repos-server head comment for documentation
@@
-441,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);