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

        

Reply via email to