+
+ $self->get_forks;
+
+ my $dir = $self->directory . '.git';
+ local $CWD = $dir;
+
+ my $remotes = Git::Repository->run(branch => '--remotes');
+ foreach my $fork (@{$self->{forks}}) {
+ if ($remotes =~ /$fork->{full_name}/) {
+ print "skip ", $fork->{full_name}, "\n";
+ next;
+ }
+ print "add ", $fork->{full_name}, "\n";
+ Git::Repository->run(remote => add => $fork->{full_name} => $fork->{clone_url});
+ }
+
+ print "fetch ", $dir, "\n";
+ Git::Repository->run(fetch => '--all');
+
+ return $self;