Jay Berkenbilt created JENKINS-13417:
----------------------------------------
Summary: git-plugin: rev-parse dereferencing tags breaks on Windows
Key: JENKINS-13417
URL: https://issues.jenkins-ci.org/browse/JENKINS-13417
Project: Jenkins
Issue Type: Bug
Components: git
Environment: Windows 2008 R2 slave launched with cygwin ssh, cygwin git
Reporter: Jay Berkenbilt
Assignee: Nicolas De Loof
The change to GitAPI.java in commit 13f6038acc4fa5b5a62413155da6fc8cfcad3fe0
seems to break the git plugin for Windows, at least in some circumstances. The
syntax rev^{commit} gets mangled by cmd because ^ is a quote character. This
means that cmd passes rev{commit} to git, which as a cygwin executable being
run from Windows, further tries to do wildcard expansion and maps this to
revcommit. Putting "" around rev^{commit} empirically seems to work, though I
haven't tried it in the git plugin itself.
This C fragment:
{code}
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
for (i = 0; i < argc; ++i)
{
printf("%s\n", argv[i]);
}
return 0;
}
{code}
when compiled with mingw to a native Windows application (a.exe) and invoked
from cmd as a.exe a^{b} prints a{b}. When the same fragment is compiled with
cygwin gcc to cygwin executable a.exe and is invoked the same way from cmd, it
prints ab. Both print a^{b} when invoked from cmd as a.exe "a^{b}".
I'm not sure what the fix is here other than perhaps detecting that this is
windows and putting quotes around the argument in Windows.
On another note, I left the Affects Version/s field blank. My Jenkins
installation claims that it is using version 1.1.6. Looking at the git repo
for the plugin, it appears that 1.1.6 should not have the ^{commit} fix, yet
running strings on plugins/git/WEB-INF/classes/hudson/plugins/git/GitAPI.class
clearly shows that my git plugin has that change in it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira