diff --git a/src/lib/Hydra/Helper/AddBuilds.pm b/src/lib/Hydra/Helper/AddBuilds.pm index 3d3c91b7..2a497ab6 100644 --- a/src/lib/Hydra/Helper/AddBuilds.pm +++ b/src/lib/Hydra/Helper/AddBuilds.pm @@ -326,6 +326,15 @@ sub fetchInputGit { (my $revision, my $ref) = split ' ', $first; die unless $revision =~ /^[0-9a-fA-F]+$/; + if (-f ".topdeps") { + # This is a TopGit branch. Fetch all the topic branches so + # that builders can run "tg patch" and similar. + (my $res, $stdout, $stderr) = captureStdoutStderr(600, + ("tg", "remote", "--populate", "origin")); + + print STDERR "Warning: `tg remote --populate origin' failed:\n$stderr" unless $res; + } + # Some simple caching: don't check a uri/branch more than once every hour, but prefer exact match on uri/branch/revision. my $cachedInput ; ($cachedInput) = $db->resultset('CachedGitInputs')->search(