-
Bug
-
Resolution: Unresolved
-
Minor
-
None
Version 3.3 of the git plugin added a step that runs "git rev-parse" on all tags (see also https://issues.jenkins-ci.org/browse/JENKINS-45447 ).
This change breaks building the Linux kernel. The reason is interesting: the v2.6.11 tag ( https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tag/?h=v2.6.11 ) does not have a backing commit:
> git rev-parse refs/tags/v2.6.11^{commit} # timeout=10 FATAL: Command "git rev-parse refs/tags/v2.6.11^{commit}" returned status code 128: stdout: refs/tags/v2.6.11^{commit} stderr: error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type fatal: ambiguous argument 'refs/tags/v2.6.11^{commit}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'
This tag is strange special case (which also noted in the tag's commit message). However, the Linux kernel is a very widely used project and building it using Jenkins should work.
[JENKINS-47350] "git rev-parse" fails on Linux v2.6.11 tag
Description |
Original:
Version 3.3 of the git plugin added a step that runs "git rev-parse" on all tags (see also https://issues.jenkins-ci.org/browse/JENKINS-45447 ). This change breaks building the Linux kernel. The reason is interesting: the v2.6.11 tag ( [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tag/?h=v2.6.11] ) does not have a backing commit: {code:java} > git rev-parse refs/tags/v2.6.11^{commit} # timeout=10 FATAL: Command "git rev-parse refs/tags/v2.6.11^{commit}" returned status code 128: stdout: refs/tags/v2.6.11^{commit} stderr: error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type fatal: ambiguous argument 'refs/tags/v2.6.11^{commit}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' {code} This tag is strange special case (which also noted in the tag's commit message. However, the Linux kernel is a very widely used project and building it using Jenkins should work. |
New:
Version 3.3 of the git plugin added a step that runs "git rev-parse" on all tags (see also https://issues.jenkins-ci.org/browse/JENKINS-45447 ). This change breaks building the Linux kernel. The reason is interesting: the v2.6.11 tag ( [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tag/?h=v2.6.11] ) does not have a backing commit: {code:java} > git rev-parse refs/tags/v2.6.11^{commit} # timeout=10 FATAL: Command "git rev-parse refs/tags/v2.6.11^{commit}" returned status code 128: stdout: refs/tags/v2.6.11^{commit} stderr: error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type error: refs/tags/v2.6.11^{commit}: expected commit type, but the object dereferences to tree type fatal: ambiguous argument 'refs/tags/v2.6.11^{commit}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' {code} This tag is strange special case (which also noted in the tag's commit message). However, the Linux kernel is a very widely used project and building it using Jenkins should work. |
Assignee | Original: Mark Waite [ markewaite ] |
Labels | New: newbie-friendly |
Labels | Original: newbie-friendly |
Also biting us when using the pipeline multibranch plugin to build tags from the Linux kernel.
To reproduce: Create a new pipeline multibranch job pointing at [git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git]
Allow tags to be discovered
Trigger branch indexing for the job
Observe the follow error in the branch indexing log: