chiark / gitweb /
changelog: Start 9.8
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 687ef646a4d4deb4569c039890cb54e22ea91bf7..941a14b93630d198172570a2a943d5ea29874d11 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -3853,6 +3853,7 @@ sub vcs_git_url_of_ctrl ($) {
     my $vcsgiturl = $ctrl->{'Vcs-Git'};
     if (length $vcsgiturl) {
        $vcsgiturl =~ s/\s+-b\s+\S+//g;
+       $vcsgiturl =~ s/\s+\[[^][]*\]//g;
     }
     return $vcsgiturl;
 }
@@ -4972,7 +4973,8 @@ sub cmd_update_vcs_git () {
        get_archive_dsc();
        $ctrl = $dsc;
     }
-    my $url = getfield $ctrl, 'Vcs-Git';
+    my $url = vcs_git_url_of_ctrl $ctrl;
+    fail 'no Vcs-Git header in control file' unless length $url;
 
     my @cmd;
     my $orgurl = cfg 'remote.vcs-git.url', 'RETURN-UNDEF';
@@ -4980,12 +4982,12 @@ sub cmd_update_vcs_git () {
        print STDERR f_ "setting up vcs-git: %s\n", $url;
        @cmd = (@git, qw(remote add vcs-git), $url);
     } elsif ($orgurl eq $url) {
-       print STDERR f_ "vcs git already configured: %s\n", $url;
+       print STDERR f_ "vcs git unchanged: %s\n", $url;
     } else {
        print STDERR f_ "changing vcs-git url to: %s\n", $url;
        @cmd = (@git, qw(remote set-url vcs-git), $url);
     }
-    runcmd_ordryrun_local @cmd;
+    runcmd_ordryrun_local @cmd if @cmd;
     if ($dofetch) {
        print f_ "fetching (%s)\n", "@ARGV";
        runcmd_ordryrun_local @git, qw(fetch vcs-git), @ARGV;