diff options
author | intrigeri <intrigeri@boum.org> | 2008-12-30 18:24:36 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2008-12-30 18:24:36 +0100 |
commit | 21add7ffa87a5e622d18bdbb24c638c15bdb3800 (patch) | |
tree | 6780aa6dbee71f18db64e44b012e789fc8197d4b /gitremotes | |
parent | 3190e5cea75a43d38f58b8a45fbc87d5527d18f0 (diff) | |
parent | 3032909090711c86c5056987043eeff5a1f6aec2 (diff) |
Merge commit 'upstream/master' into prv/po
Conflicts:
debian/control
debian/copyright
doc/ikiwiki/pagespec.mdwn
Signed-off-by: intrigeri <intrigeri@boum.org>
Diffstat (limited to 'gitremotes')
-rwxr-xr-x | gitremotes | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gitremotes b/gitremotes new file mode 100755 index 000000000..7b9484dd1 --- /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 (<IN>) { + 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; |