X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDistar%2Fhelpers%2Fpreflight;h=ad92b09baafe677aa6ee1743b509559d1828a7e0;hb=refs%2Fheads%2Fmaster;hp=9e87cbb46276b98c5e9742e44f45d01f0e67507c;hpb=82d5ea32d43cf4102a17dc59b387c70020f3c1ca;p=p5sagit%2FDistar.git diff --git a/lib/Distar/helpers/preflight b/lib/Distar/helpers/preflight index 9e87cbb..ad92b09 100755 --- a/lib/Distar/helpers/preflight +++ b/lib/Distar/helpers/preflight @@ -16,11 +16,6 @@ my $version = shift or die "version required!"; my $make = $Config{make}; my $null = File::Spec->devnull; -system("git fetch"); -if (system("git rev-parse --quiet --verify v$version >$null") == 0) { - die "Tag v$version already exists!"; -} - chomp(my $head = `git symbolic-ref -q HEAD`); (my $current_branch = $head) =~ s{^refs/heads/}{}; $head eq "refs/heads/$branch" @@ -28,6 +23,19 @@ $head eq "refs/heads/$branch" chomp(my $upstream = `git for-each-ref --format="%(upstream)" $head`); length $upstream or die "No upstream branch configured for $branch!\n"; + +my (undef, undef, $remote) = split qr{/}, $upstream; + +my $push_url = `git remote get-url --push $remote`; +chomp $push_url; + +system(qq[git -c remote.$remote.url="$push_url" fetch]) == 0 + or exit 1; + +if (system("git rev-parse --quiet --verify v$version >$null") == 0) { + die "Tag v$version already exists!"; +} + my $base_rev = `git merge-base $upstream $head`; my $upstream_rev = `git rev-parse --verify $upstream`; $upstream_rev eq $base_rev