stat_exists fail waitstatusmsg failedcmd
cmdoutput cmdoutput_errok
git_rev_parse git_for_each_ref
- git_for_each_tag_referring
+ git_for_each_tag_referring is_fast_fwd
$package_re $component_re $deliberately_re
$branchprefix
initdebug enabledebug enabledebuglevel
});
}
+sub is_fast_fwd ($$) {
+ my ($ancestor,$child) = @_;
+ my @cmd = (qw(git merge-base), $ancestor, $child);
+ my $mb = cmdoutput_errok @cmd;
+ if (defined $mb) {
+ return git_rev_parse($mb) eq git_rev_parse($ancestor);
+ } else {
+ $?==256 or failedcmd @cmd;
+ return 0;
+ }
+}
+
1;