]> sipb.mit.edu Git - ikiwiki.git/blobdiff - gitremotes
(no commit message)
[ikiwiki.git] / gitremotes
index d49cf2d9eff41cc001d9b5c6145b1d9a20e69050..5cafad1b8dcb550c694567b7815978a7861fc6fe 100755 (executable)
@@ -1,8 +1,7 @@
 #!/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>) {
@@ -15,24 +14,13 @@ while (<IN>) {
                # check configured url to deal with it changing
                my $info=`git remote show -n $remote`;
                my ($oldurl)=$info=~/URL: (.*)/m;
-               my $r;
                if ($oldurl ne $url) {
                        system("git remote rm $remote 2>/dev/null");
-                       $r = system("git", "remote", "add", "-f", $remote, $url)
-               }
-               else {
-                       $r = system("git", "fetch", "--no-tag", $remote);
+                       system("git", "remote", "add", $remote, $url);
+                       system("git", "config", "remote.$remote.tagopt",
+                               "--no-tags");
+                       system("git", "fetch", $remote);
                }
-
-               if ($r != 0) {
-                       print "$remote failed\n";
-               }
-               $error |= $r;
-               
-               # drop stale tracking branches
-               system("git", "remote", "prune", $remote);
        }
 }
 close IN;
-
-exit $error;