• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • cvs-plugin
    • None
    • My Slave is on a Windows XP, SP3. Cygwin (cygwin) 1.7.10, java version "1.7.0_01"
      Java(TM) SE Runtime Environment (build 1.7.0_01-b08)

      My Jenkins slave running on Windows XP is checking out my files from CVS with a Windows format.

      I am building inside cygwin, so my build is failing with this message:
      error C4335: Mac file format detected: please convert the source file to either DOS or UNIX format

      One specific file looks like this when I run 'file' on it. In Jenkins workspace it looks like this:

      L_LicenceObjectBasePtr.cpp: ASCII C++ program text, with CRLF, CR line terminators
      The file in vi shows "^M$" at the line ending (\r\n)

      If I checkout the source using cygwin, the output of 'file' on the same file looks like this:

      L_LicenceObjectBasePtr.cpp: ASCII C++ program text, with CRLF line terminators
      The file in vi shows "$" at the line ending. (\n)

      I am attempting to run dos2unix on my files before building, but this is not the most ideal solution.

      Is there another know solution to this, but why would the line endings of my files coming out of CVS be different for via Jenkins than via cygwin.

          [JENKINS-14691] CVS checkout files have windows line endings

          Is this using the Jenkins CVS plugin (if so, which version) or a CVS client scripted from Jenkins?

          Michael Clarke added a comment - Is this using the Jenkins CVS plugin (if so, which version) or a CVS client scripted from Jenkins?

          Daniel Dunbar added a comment -

          Hi Michael, We are using version 2.4 of the Plugin. If we use the shell text area to call CVS directly, we don't have this problem of platform line endings.

          Daniel Dunbar added a comment - Hi Michael, We are using version 2.4 of the Plugin. If we use the shell text area to call CVS directly, we don't have this problem of platform line endings.

          I wonder if this is to do with how CVS is called: we invoke it as though it's sitting in the workspace, so it does any encoding based on the environment the workspace is hosted on. If the java process that launches the CVS Client isn't aware the process is Cycgwin then it may treat output as Windows format.

          Michael Clarke added a comment - I wonder if this is to do with how CVS is called: we invoke it as though it's sitting in the workspace, so it does any encoding based on the environment the workspace is hosted on. If the java process that launches the CVS Client isn't aware the process is Cycgwin then it may treat output as Windows format.

            Unassigned Unassigned
            daniel_dunbar Daniel Dunbar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: