X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=blobdiff_plain;f=gitremotes;h=5cafad1b8dcb550c694567b7815978a7861fc6fe;hp=7b9484dd16dc3c4f3a1ee36ab566dfd0aa8eb07b;hb=4c45ea0370d26d0a235c82ee3daabb75321acc8f;hpb=21add7ffa87a5e622d18bdbb24c638c15bdb3800 diff --git a/gitremotes b/gitremotes index 7b9484dd1..5cafad1b8 100755 --- a/gitremotes +++ b/gitremotes @@ -1,12 +1,11 @@ #!/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 () { - if (/^\*\s+\[?\[?(\w+)\]?\]?\s+`([^>]+)`/) { + if (/^\*\s+\[?\[?(\w+)(?:\|\w+)?\]?\]?\s+`([^>]+)`/) { # note that the remote name has to be a simple word (\w) # for security/sanity reasons my $remote=$1; @@ -17,13 +16,11 @@ while () { my ($oldurl)=$info=~/URL: (.*)/m; if ($oldurl ne $url) { system("git remote rm $remote 2>/dev/null"); - $error |= system("git", "remote", "add", "-f", $remote, $url); - } - else { - $error |= system("git", "fetch", $remote); + system("git", "remote", "add", $remote, $url); + system("git", "config", "remote.$remote.tagopt", + "--no-tags"); + system("git", "fetch", $remote); } } } close IN; - -exit $error;