On Wed, Apr 25, 2012 at 12:42, Rob Vermaas <[email protected]> wrote: > Hi, > >>> diff --git a/src/lib/Hydra/Helper/AddBuilds.pm >>> b/src/lib/Hydra/Helper/AddBuilds.pm >>> index 3a81cb5..feecf0d 100644 >>> --- a/src/lib/Hydra/Helper/AddBuilds.pm >>> +++ b/src/lib/Hydra/Helper/AddBuilds.pm >>> @@ -343,6 +343,10 @@ sub fetchInputGit { >>> ($res, $stdout, $stderr) = captureStdoutStderr(600, >>> ("git", "pull", "--ff-only", "-fu", "--all")); >>> die "Error pulling latest change from git repo at `$uri':\n$stderr" >>> unless $res; >>> + # Make sure there is a local branch >>> + ($res, $stdout, $stderr) = captureStdoutStderr(600, >>> + ("git", "checkout", "-f", $branch)); >>> + die "Error making local branch $branch in $clonePath from git repo >>> at `$uri':\n$stderr" unless $res; >> >> You should avoid checkout, in fact it would be better to have >> bare/mirror repository for git. >> I you want to create a local branch, use "git fetch -fu origin >> +$branch:$branch". >> >> I think you can get rid of the deep clone condition here and use the >> other branch which already have "git fetch -fu origin >> +$branch:$branch".
The checkout might still be needed by "tg populate" which is fetching every top-git branches and copy them to the current repository. > > Doesn't the deep clone need all remote branches to be fetched in stead > of the one branch? Maybe I am just confused to what a deep clone is > supposed to be. I don't think so as long as we don't use "git describe --all", which is by the way not handled by nix-prefecth-git. Otherwise, if the git documentation is not misleading, all tags on the path should be fetched too and "git describe" should work. -- Nicolas Pierron http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/ _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
