X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/0294fdfb5c50e5af22acc14407a2b69c79360e44..5ab5a28cec4feeddb2f8afc10d800b0000fabced:/gitremotes diff --git a/gitremotes b/gitremotes index d49cf2d9e..5cafad1b8 100755 --- a/gitremotes +++ b/gitremotes @@ -1,8 +1,7 @@ #!/usr/bin/perl # Parses list of remotes in doc/git.mdwn, configures git to use them -# all, and fetches updates from them. - -my $error=0; +# all. After running this, use "git remote update --prune" to pull +# updates from all remotes. open (IN, "doc/git.mdwn") || die "doc/git.mdwn: $!"; while () { @@ -15,24 +14,13 @@ while () { # check configured url to deal with it changing my $info=`git remote show -n $remote`; my ($oldurl)=$info=~/URL: (.*)/m; - my $r; if ($oldurl ne $url) { system("git remote rm $remote 2>/dev/null"); - $r = system("git", "remote", "add", "-f", $remote, $url) - } - else { - $r = system("git", "fetch", "--no-tag", $remote); + system("git", "remote", "add", $remote, $url); + system("git", "config", "remote.$remote.tagopt", + "--no-tags"); + system("git", "fetch", $remote); } - - if ($r != 0) { - print "$remote failed\n"; - } - $error |= $r; - - # drop stale tracking branches - system("git", "remote", "prune", $remote); } } close IN; - -exit $error;