From d135bd3f983fce11468037792b696cc32316023a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 11 Dec 2008 13:27:50 -0500 Subject: add gitremotes script, parsing list of remotes on doc/git.mdwn Any remotes added will automatically be pulled into my working copy. --- gitremotes | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 gitremotes (limited to 'gitremotes') diff --git a/gitremotes b/gitremotes new file mode 100755 index 000000000..b14490924 --- /dev/null +++ b/gitremotes @@ -0,0 +1,29 @@ +#!/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; + +open (IN, "doc/git.mdwn") || die "doc/git.mdwn: $!"; +while () { + if (/^\*\s+\[\[(\w+)\]\]\s+<([^>]+)>/) { + # note that the remote name has to be a simple word (\w) + # for security/sanity reasons + my $remote=$1; + my $url=$2; + + # check configured url to deal with it changing + my $info=`git remote show -n $remote`; + 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); + } + } +} +close IN; + +exit $error; -- cgit v1.2.3