stitch($dangling_head, $ffq_prev, $gdrlast, $ffq_prev_commitish, $prose);
}
-sub resolve_upstream_version ($$) {
- my ($new_upstream, $version) = @_;
+sub upstream_commitish_search ($$) {
+ my ($upstream_version, $tried) = @_;
+ # todo: at some point maybe use git-deborig to do this
+ foreach my $tagpfx ('', 'v', 'upstream/') {
+ my $tag = $tagpfx.(dep14_version_mangle $upstream_version);
+ my $new_upstream = git_get_ref "refs/tags/$tag";
+ push @$tried, $tag;
+ return $new_upstream if length $new_upstream;
+ }
+}
- my $new_upstream_version = upstreamversion $version;
+sub resolve_upstream_version ($$) {
+ my ($new_upstream, $upstream_version) = @_;
if (!defined $new_upstream) {
my @tried;
- # todo: at some point maybe use git-deborig to do this
- foreach my $tagpfx ('', 'v', 'upstream/') {
- my $tag = $tagpfx.(dep14_version_mangle $new_upstream_version);
- $new_upstream = git_get_ref "refs/tags/$tag";
- last if length $new_upstream;
- push @tried, $tag;
- }
+ $new_upstream = upstream_commitish_search $upstream_version, \@tried;
if (!length $new_upstream) {
fail "Could not determine appropriate upstream commitish.\n".
" (Tried these tags: @tried)\n".
}
$new_upstream = git_rev_parse $new_upstream;
- return ($new_upstream, $new_upstream_version);
+ return $new_upstream;
}
sub cmd_new_upstream () {
}
my $new_upstream = shift @ARGV;
- my $new_upstream_version;
- ($new_upstream, $new_upstream_version) =
- resolve_upstream_version $new_upstream, $new_version;
+ my $new_upstream_version = upstreamversion $new_version;
+ $new_upstream =
+ resolve_upstream_version $new_upstream, $new_upstream_version;
record_ffq_auto();
my ($upstream_spec) = @ARGV;
- my ($upstream, $upstream_version) =
- resolve_upstream_version($upstream_spec, $version);
+ my $upstream_version = upstreamversion $version;
+ my $upstream =
+ resolve_upstream_version($upstream_spec, $upstream_version);
my $old_head = get_head();