X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=blobdiff_plain;f=gitremotes;h=5cafad1b8dcb550c694567b7815978a7861fc6fe;hp=d49cf2d9eff41cc001d9b5c6145b1d9a20e69050;hb=f5205731d99f3d706ede67745f7c2b01a24fb904;hpb=0294fdfb5c50e5af22acc14407a2b69c79360e44 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;