From cd800af2e4ca8fcf72e17555472af9aa37000b3e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 28 Jun 2019 17:30:55 +0100 Subject: Dgit.pm: Move resolve_upstream_version from git-debrebase No functional change. Signed-off-by: Ian Jackson --- Debian/Dgit.pm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'Debian/Dgit.pm') diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 892ebf9..912a524 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -45,7 +45,8 @@ BEGIN { dep14_version_mangle debiantags debiantag_new debiantag_maintview - upstreamversion upstream_commitish_search + upstreamversion + upstream_commitish_search resolve_upstream_version stripepoch source_file_leafname is_orig_file_of_p_v server_branch server_ref stat_exists link_ltarget rename_link_xf @@ -628,6 +629,28 @@ sub upstream_commitish_search ($$) { } } +sub resolve_upstream_version ($$) { + my ($new_upstream, $upstream_version) = @_; + + my $used = $new_upstream; + if (!defined $new_upstream) { + my @tried; + $new_upstream = upstream_commitish_search $upstream_version, \@tried; + if (!length $new_upstream) { + fail f_ + "Could not determine appropriate upstream commitish.\n". + " (Tried these tags: %s)\n". + " Check version, and specify upstream commitish explicitly.", + "@tried"; + } + $used = $tried[-1]; + } + $new_upstream = git_rev_parse $new_upstream; + + return ($new_upstream, $used); + # used is a human-readable idea of what we found +} + sub is_fast_fwd ($$) { my ($ancestor,$child) = @_; my @cmd = (qw(git merge-base), $ancestor, $child); -- cgit v1.2.3