CRLF issues on checkout (was Re: Gnucash 2.5/6 - jqplot)

Geert Janssens janssens-geert at telenet.be
Fri Feb 22 13:45:10 EST 2013


Op 22-02-13 19:23, Mike Evans schreef:
> On Fri, 22 Feb 2013 18:47:48 +0100
> Geert Janssens <janssens-geert at telenet.be> wrote:
>
>> Op 22-02-13 14:43, Mike Evans schreef:
>>> On Thu, 21 Feb 2013 18:55:31 +0100
>>> Geert Janssens <janssens-geert at telenet.be> wrote:
>>>
>>>> Op 21-02-13 18:19, Mike Evans schreef:
>>>>> On Thu, 21 Feb 2013 18:04:37 +0100
>>>>> Geert Janssens <janssens-geert at telenet.be> wrote:
>>>>>
>>>>>> Op 21-02-13 16:54, Mike Evans schreef:
>>>>>>> A git|svn|brain issue follows.
>>>>>>>
>>>>>>> Having updated to the latest source using git-update script I
>>>>>>> can't change branches because some of the files have the wrong
>>>>>>> line endings, unless I commit the changes.
>>>>>>> I get this message:
>>>>>>> "Please, commit your changes or stash them before you can switch
>>>>>>> branches."
>>>>>>>
>>>>>>> Git stash doesn't work and I get similar output to that shown
>>>>>>> below.
>>>>>>>
>>>>>>> A git diff gives the following output.
>>>>>>>
>>>>>>> warning: CRLF will be replaced by LF in
>>>>>>> src/report/jqplot/excanvas.min.js. The file will have its
>>>>>>> original line endings in your working directory. warning: CRLF
>>>>>>> will be replaced by LF in
>>>>>>> src/report/jqplot/jquery.jqplot.min.js. The file will have its
>>>>>>> original line endings in your working directory.
>>>>> SNIP
>>>>>>> src/report/jqplot/plugins/jqplot.ciParser.min.js. The file will
>>>>>>> have its original line endings in your working directory. diff
>>>>>>> --git src/report/jqplot/excanvas.min.js
>>>>>>> src/report/jqplot/excanvas.min.js index 83373a5..e699a26 100644
>>>>>>> --- src/report/jqplot/excanvas.min.js +++
>>>>>>> src/report/jqplot/excanvas.min.js @@ -1,3 +1,3 @@ -/* jqPlot
>>>>>>> @VERSION | (c) 2009-2013 Chris Leonello | jplot.com
>>>>>>> -   jsDate | (c) 2010-2013 Chris Leonello
>>>>>>> +/* jqPlot @VERSION | (c) 2009-2013 Chris Leonello | jplot.com
>>>>>>> +   jsDate | (c) 2010-2013 Chris Leonello
>>>>>>>
>>>>>>>
>>>>>>> Um.  Not sure what to do or why this situation occurred in the
>>>>>>> first place. I thought git took care of line ending
>>>>>>> translations.
>>>>>>> I can commmit locally then dcommit but is that going to screw it
>>>>>>> up for anyone else?
>>>>>>>
>>>>>>> Advice needed.  My love/hate relationship with GIT continues.
>>>>>>>
>>>>>>>
>>>>>>> Mike Evans
>>>>>>>
>>>>>> Mike,
>>>>>>
>>>>>> These happen because the git configuration didn't have a
>>>>>> definition for the line ending style for javascript files (.js).
>>>>>> While working on the charts I added this definition. Some files
>>>>>> that were already in git before now are checked out with
>>>>>> different line endings.
>>>>>>
>>>>>> Can you try to run
>>>>>> git checkout src/report/jqplot/*.js
>>>>>> git checkout src/report/jqplot/plugins/*.js
>>>>>>
>>>>>> Does that fix the issue ?
>>>>>>
>>>>>> Geert
>>>>> Hi Geert
>>>>>
>>>>> Afraid not.  Can I modify my config file manually?  What do I
>>>>> add|change if so?
>>>>>
>>>>> Mike E
>>>> It looks like the solution needs slightly more work. Read the part
>>>> "Re-normalizing a repo" on this page:
>>>>
>>>> https://help.github.com/articles/dealing-with-line-endings
>>>>
>>>> Be sure to commit or stash your real changes before following this
>>>> procedure. If at the end there are still files complaining about
>>>> CRLF vs LF, you commit those. That would mean I have messed up in
>>>> my commit.
>>>>
>>>> Geert
>>> Hi Geert
>>>
>>> After doing that and making things somewhat worse, that is, getting
>>> even more files with line ending issues I git cloned a fresh copy
>>> of gnucash from GitHub.
>>>
>>> A git status gives me:
>>>
>>> # On branch trunk
>>> # Changes not staged for commit:
>>> #   (use "git add <file>..." to update what will be committed)
>>> #   (use "git checkout -- <file>..." to discard changes in working
>>> directory) #
>>> #       modified:   src/report/jqplot/excanvas.min.js
>>> #       modified:   src/report/jqplot/jquery.jqplot.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.BezierCurveRenderer.min.js #
>>> modified:   src/report/jqplot/plugins/jqplot.barRenderer.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.blockRenderer.min.js #
>>> modified:   src/report/jqplot/plugins/jqplot.bubbleRenderer.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.canvasOverlay.min.js #
>>> modified:
>>> src/report/jqplot/plugins/jqplot.canvasTextRenderer.min.js #
>>> modified:
>>> src/report/jqplot/plugins/jqplot.categoryAxisRenderer.min.js
>>> #       modified:
>>> src/report/jqplot/plugins/jqplot.ciParser.min.js #
>>>
>>> Same files with line ending issues, but at least no warnings.  It
>>> can't be just me surely? Although sometimes it seems to be :)
>>>
>>> Mike Evans
>>>
>> Just to test I did the same: cloned a fresh copy from GitHub and it
>> doesn't show any modified files. We seem to have a mystery here...
>>
>> Let's try to find what is different between your and my setup.
>>
>> The only difference I can imagine to cause this would be if you have
>> configured line ending preferences locally. Is there some config
>> parameter related to line endings in your $HOME/.gitconfig file (like
>> autocrlf) ? I don't have anything in there.
>>
>> Geert
> Thanks for checking Geert.  I removed my $HOME/.gitconfig and tried
> again with the same result.  My git version is 1.7.6.5 on Fedora 15 not
> sure it that makes any difference.  Anyway now we know where the
> problem is (me) I know the solution is local.  Enough for today though
> I think.
My git version is git-1.8.1.2-1.fc18.i686 on Fedora 18. I don't know if 
that makes a difference or not.

What exact url are you using to clone from github ?
Mine is git at github.com:Gnucash/gnucash.git

Any other devs seeing this ?

Geert


More information about the gnucash-devel mailing list