2 # Parses list of remotes in doc/git.mdwn, configures git to use them
3 # all, and fetches updates from them.
7 open (IN, "doc/git.mdwn") || die "doc/git.mdwn: $!";
9 if (/^\*\s+\[?\[?(\w+)(?:\|\w+)?\]?\]?\s+`([^>]+)`/) {
10 # note that the remote name has to be a simple word (\w)
11 # for security/sanity reasons
15 # check configured url to deal with it changing
16 my $info=`git remote show -n $remote`;
17 my ($oldurl)=$info=~/URL: (.*)/m;
19 if ($oldurl ne $url) {
20 system("git remote rm $remote 2>/dev/null");
21 $r = system("git", "remote", "add", "-f", $remote, $url)
24 $r = system("git", "fetch", "--no-tag", $remote);
28 print "$remote failed\n";
32 # drop stale tracking branches
33 system("git", "remote", "prune", $remote);