X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/21add7ffa87a5e622d18bdbb24c638c15bdb3800..51b4083c2286946973b066923d3af6e289f771ab:/gitremotes

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 (<IN>) {
-	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 (<IN>) {
 		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;