Why does git fetch via hudson fail, while git fetch via the command line works?
Yes, I just fixed this exact problem. If you open a windows explorer to d:\hudson\home\jobs\gdcm-hudson\workspace
you should be able to see a .git
directory and nothing else. There should be a working copy but there isn't. To fix this you have to "prime" the repository by running
git pull git://github.com/malaterre/gdcm.git
This should create a bunch of other files in d:\hudson\home\jobs\gdcm-hudson\workspace
along side the .git directory and you should be able to perform a build in hudson.
This occurred to me on a build that was previously working fine. The solution was just to delete the workspace directory and restart the build.
The Git plugin for Hudson fails only recently on this kind of error message (issue 6902, July 2010). Before it used to go on silently (which was misleading).
Do you have any submodules defined?
Because it looks like Git Plugin Bug 4
I have the following setup:
- a branch called "master", that contains a submodule to another project
- a branch called "develop", that does not contain a submodule reference
If I configure a Hudson job to build/test the "develop" branch, the build breaks, because it cannot do the submodule checkout. Because this happens before switching to the "develop" branch, the build is broken before anything started.
Solution
I assume the output of
git ls-tree HEAD
is scanned for 160000 references to determine which entries are submodules.
The refHEAD
at that point still points tomaster
, I suppose in most cases.
Instead ofls-tree
'ingHEAD
, maybe do it on the specified branch?