{"thread":{"id":"32373","subject":"problem with BOINC repository and CR/LF","startedAt":"2012-12-17T10:23:05Z","lastAt":"2012-12-22T19:17:25Z","messageCount":13,"participants":["Toralf Förster","Andrew Ardill","Torsten Bögershausen","Jeff King","Dmitry Potapov","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"205042","messageId":"50CEF289.4040503@gmx.de","threadId":"32373","inReplyTo":null,"subject":"problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-17T10:23:05Z","receivedAt":"2012-12-17T10:23:05Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"Hello,\n\nI'm faced with this situation :\nhttp://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\nand even a \"git stash\" doesn't help.\n\nNow /me wonders whether that repository is just screwed up or whether I\ndo have with git.1.8.0.2 at an almost stable Gentoo linux a problem.\nFWIW I already played (unsuccessful) with this too:\n\n\n$ grep -B 3 crlf .gitconfig\n        confirm = never\n\n[core]\n        autocrlf = true\n\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205049","messageId":"CAH5451=FpmtGVVJ=mubE0KeD-tTVaNU96audzTRnNQh2BEEXPg@mail.gmail.com","threadId":"32373","inReplyTo":"50CEF289.4040503@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Andrew Ardill","fromEmail":"andrew.ardill@gmail.com","sentAt":"2012-12-17T11:38:49Z","receivedAt":"2012-12-17T11:38:49Z","isPatch":false,"sender":{"key":"andrew.ardill@gmail.com","avatar":"https://gravatar.com/avatar/da14cb7c091dd44dc6c63a4d3361b149acaf25226dc78eb4131a17b93d9b0993?d=mp&s=160"},"body":"On 17 December 2012 21:23, Toralf Förster <toralf.foerster@gmx.de> wrote:\n> Hello,\n>\n> I'm faced with this situation :\n> http://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\n> and even a \"git stash\" doesn't help.\n\nHi Toralf,\n\nThat list is private and not visible without an account. Can you\ntranscribe the relevant parts?\n\nRegards,\n\nAndrew Ardill\n"},{"id":"205061","messageId":"50CF41EB.1060402@gmx.de","threadId":"32373","inReplyTo":"CAH5451=FpmtGVVJ=mubE0KeD-tTVaNU96audzTRnNQh2BEEXPg@mail.gmail.com","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-17T16:01:47Z","receivedAt":"2012-12-17T16:01:47Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/17/2012 12:38 PM, Andrew Ardill wrote:\n> On 17 December 2012 21:23, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>> Hello,\n>>\n>> I'm faced with this situation :\n>> http://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\n>> and even a \"git stash\" doesn't help.\n> \n> Hi Toralf,\n> \n> That list is private and not visible without an account. Can you\n> transcribe the relevant parts?\n> \n> Regards,\n> \n> Andrew Ardill\n> \nOh of course :\n\n\nOn 12/17/2012 12:03 AM, Gianfranco Costamagna wrote:\n> So if you have further issues with boinc feel free to look in our debian\n> git and feel free to download appropriate patches :-)\n>\n> Gianfranco\nthx\n\nCurrently I'm struggling with a git problem of the boinc repository\nitself and b/c I'm using git for the linux kernel tree w/o any problems\nsince eons /me wonders whether this is a BOINC-repository specific problem :\n\n\nAfter doing the following sequence with git 1.8.0.2 :\n\n$> git clone git://boinc.berkeley.edu/boinc.git\n$> cd boinc\n$> git checkout client_release_7.0.39\n$> git checkout master\n(sometimes I've to repeat this :\n\t$> git checkout client_release_7.0.39\n\t$> git checkout master\n)\nI'm faced with this situation :\n\n$ git status\n# On branch master\n# Changes not staged for commit:\n#   (use \"git add <file>...\" to update what will be committed)\n#   (use \"git checkout -- <file>...\" to discard changes in working\ndirectory)\n#\n#       modified:   clientgui/AsyncRPC.cpp\n#       modified:   clientgui/sg_BoincSimpleFrame.cpp\n#\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\n\n(sometimes only clientgui/sg_BoincSimpleFrame.cpp is mentioned)\n\nNow these commands\n\n$ git checkout -- clientgui/AsyncRPC.cpp\n$ git checkout -- clientgui/sg_BoincSimpleFrame.cpp\n\ndoesn't help - the status is still the same (and ofc now I'm no longer\nallowed to make a \"git checkout\" - due to un-commited changes).\n\nNow I'm wondering where to start to investigate this issue ...\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205102","messageId":"CAH5451=xiipSKrAb_DFXCW=+NAn+mnSm1zPzjhEVc8fZ2KGcnw@mail.gmail.com","threadId":"32373","inReplyTo":"50CF41EB.1060402@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Andrew Ardill","fromEmail":"andrew.ardill@gmail.com","sentAt":"2012-12-18T01:56:46Z","receivedAt":"2012-12-18T01:56:46Z","isPatch":false,"sender":{"key":"andrew.ardill@gmail.com","avatar":"https://gravatar.com/avatar/da14cb7c091dd44dc6c63a4d3361b149acaf25226dc78eb4131a17b93d9b0993?d=mp&s=160"},"body":"On 18 December 2012 03:01, Toralf Förster <toralf.foerster@gmx.de> wrote:\n> On 12/17/2012 12:38 PM, Andrew Ardill wrote:\n>> On 17 December 2012 21:23, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>>> Hello,\n>>>\n>>> I'm faced with this situation :\n>>> http://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\n>>> and even a \"git stash\" doesn't help.\n>>\n>> Hi Toralf,\n>>\n>> That list is private and not visible without an account. Can you\n>> transcribe the relevant parts?\n>>\n>> Regards,\n>>\n>> Andrew Ardill\n>>\n> Oh of course :\n>\n>\n> On 12/17/2012 12:03 AM, Gianfranco Costamagna wrote:\n>> So if you have further issues with boinc feel free to look in our debian\n>> git and feel free to download appropriate patches :-)\n>>\n>> Gianfranco\n> thx\n>\n> Currently I'm struggling with a git problem of the boinc repository\n> itself and b/c I'm using git for the linux kernel tree w/o any problems\n> since eons /me wonders whether this is a BOINC-repository specific problem :\n>\n>\n> After doing the following sequence with git 1.8.0.2 :\n>\n> $> git clone git://boinc.berkeley.edu/boinc.git\n> $> cd boinc\n> $> git checkout client_release_7.0.39\n> $> git checkout master\n> (sometimes I've to repeat this :\n>         $> git checkout client_release_7.0.39\n>         $> git checkout master\n> )\n> I'm faced with this situation :\n>\n> $ git status\n> # On branch master\n> # Changes not staged for commit:\n> #   (use \"git add <file>...\" to update what will be committed)\n> #   (use \"git checkout -- <file>...\" to discard changes in working\n> directory)\n> #\n> #       modified:   clientgui/AsyncRPC.cpp\n> #       modified:   clientgui/sg_BoincSimpleFrame.cpp\n> #\n> no changes added to commit (use \"git add\" and/or \"git commit -a\")\n>\n> (sometimes only clientgui/sg_BoincSimpleFrame.cpp is mentioned)\n>\n> Now these commands\n>\n> $ git checkout -- clientgui/AsyncRPC.cpp\n> $ git checkout -- clientgui/sg_BoincSimpleFrame.cpp\n>\n> doesn't help - the status is still the same (and ofc now I'm no longer\n> allowed to make a \"git checkout\" - due to un-commited changes).\n>\n> Now I'm wondering where to start to investigate this issue ...\n\nHi Toralf,\n\nThat does look like a weird issue. What operating system are you on?\n\nWhat happens if you do a hard reset to the branch?\n\nWhat is the ouptut of git diff --cached ?\n\nRegards,\n\nAndrew Ardill\n"},{"id":"205113","messageId":"50D03D80.3090005@gmx.de","threadId":"32373","inReplyTo":"CAH5451=xiipSKrAb_DFXCW=+NAn+mnSm1zPzjhEVc8fZ2KGcnw@mail.gmail.com","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-18T09:55:12Z","receivedAt":"2012-12-18T09:55:12Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/18/2012 02:56 AM, Andrew Ardill wrote:\n> On 18 December 2012 03:01, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>> On 12/17/2012 12:38 PM, Andrew Ardill wrote:\n>>> On 17 December 2012 21:23, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>>>> Hello,\n>>>>\n>>>> I'm faced with this situation :\n>>>> http://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\n>>>> and even a \"git stash\" doesn't help.\n>>>\n>>> Hi Toralf,\n>>>\n>>> That list is private and not visible without an account. Can you\n>>> transcribe the relevant parts?\n>>>\n>>> Regards,\n>>>\n>>> Andrew Ardill\n>>>\n>> Oh of course :\n>>\n>>\n>> On 12/17/2012 12:03 AM, Gianfranco Costamagna wrote:\n>>> So if you have further issues with boinc feel free to look in our debian\n>>> git and feel free to download appropriate patches :-)\n>>>\n>>> Gianfranco\n>> thx\n>>\n>> Currently I'm struggling with a git problem of the boinc repository\n>> itself and b/c I'm using git for the linux kernel tree w/o any problems\n>> since eons /me wonders whether this is a BOINC-repository specific problem :\n>>\n>>\n>> After doing the following sequence with git 1.8.0.2 :\n>>\n>> $> git clone git://boinc.berkeley.edu/boinc.git\n>> $> cd boinc\n>> $> git checkout client_release_7.0.39\n>> $> git checkout master\n>> (sometimes I've to repeat this :\n>>         $> git checkout client_release_7.0.39\n>>         $> git checkout master\n>> )\n>> I'm faced with this situation :\n>>\n>> $ git status\n>> # On branch master\n>> # Changes not staged for commit:\n>> #   (use \"git add <file>...\" to update what will be committed)\n>> #   (use \"git checkout -- <file>...\" to discard changes in working\n>> directory)\n>> #\n>> #       modified:   clientgui/AsyncRPC.cpp\n>> #       modified:   clientgui/sg_BoincSimpleFrame.cpp\n>> #\n>> no changes added to commit (use \"git add\" and/or \"git commit -a\")\n>>\n>> (sometimes only clientgui/sg_BoincSimpleFrame.cpp is mentioned)\n>>\n>> Now these commands\n>>\n>> $ git checkout -- clientgui/AsyncRPC.cpp\n>> $ git checkout -- clientgui/sg_BoincSimpleFrame.cpp\n>>\n>> doesn't help - the status is still the same (and ofc now I'm no longer\n>> allowed to make a \"git checkout\" - due to un-commited changes).\n>>\n>> Now I'm wondering where to start to investigate this issue ...\n> \n> Hi Toralf,\n> \n> That does look like a weird issue. What operating system are you on?\n\nI'm running a stable Gentoo Linux x86, 32bit with gcc 4.6.3 and current\nstable kernel 3.6.1x and 3.7.1, file system is ext4 at an external USB\n2.0 drive.\n\nFWIW from the boinc maintainer I know that all tags till 7.0.3X are\nimported from svn.\n\nI upgraded to git 1.8.0.2 from 1.7.8.6 - situation is the same. The\nemerge gave :\n\nfailed test(s): t3600 t7508\n\nfixed   0\nsuccess 8342\nfailed  8\nbroken  56\ntotal   8528\n\nOk, now answering your other questions:\n\n\n$> git stash\nwarning: CRLF will be replaced by LF in clientgui/AsyncRPC.cpp.\nThe file will have its original line endings in your working directory.\nwarning: CRLF will be replaced by LF in clientgui/sg_BoincSimpleFrame.cpp.\nThe file will have its original line endings in your working directory.\nwarning: CRLF will be replaced by LF in clientgui/AsyncRPC.cpp.\nThe file will have its original line endings in your working directory.\nwarning: CRLF will be replaced by LF in clientgui/sg_BoincSimpleFrame.cpp.\nThe file will have its original line endings in your working directory.\nSaved working directory and index state WIP on master: 4a296dc - client\nsimulator: fix build errors\nHEAD is now at 4a296dc - client simulator: fix build errors\n\nAfter that the situation is unchanged.\n\n> What happens if you do a hard reset to the branch?\n\n$> git reset --hard HEAD~1\n\nnot better.\n\n\n> What is the ouptut of git diff --cached ?\n\nThe output is empty but \"git status\" shows still modified files.\n\n\n\nFWIW there's a related issue I'm wondering about which might help:\n\n$> git clone git://boinc.berkeley.edu/boinc.git\n$> tar -cpf boinc.tar boinc/\n$> rm -rf boinc/\n$> tar -xpf boinc.tar\n$> cd boinc/\n$> git status\n# On branch master\n# Changes not staged for commit:\n#   (use \"git add <file>...\" to update what will be committed)\n#   (use \"git checkout -- <file>...\" to discard changes in working\ndirectory)\n#\n#       modified:   client/win/boinc_log.h\n#       modified:   client/win/boinc_log.rc\n#       modified:   clientctrl/boincsvcctrl.cpp\n#       modified:   clientctrl/boincsvcctrl.h\n#       modified:   clientctrl/boincsvcctrl.rc\n#       modified:   clientgui/AsyncRPC.cpp\n#       modified:   clientgui/DlgEventLog.cpp\n#       modified:   clientgui/DlgEventLog.h\n#       modified:   clientgui/DlgEventLogListCtrl.cpp\n#       modified:   clientgui/DlgEventLogListCtrl.h\n#       modified:   clientgui/DlgExitMessage.h\n#       modified:   clientgui/DlgItemProperties.h\n#       modified:   clientgui/TermsOfUsePage.cpp\n#       modified:   clientgui/TermsOfUsePage.h\n#       modified:   clientgui/ViewNotices.cpp\n#       modified:   clientgui/ViewNotices.h\n#       modified:   clientgui/sg_BoincSimpleFrame.cpp\n#       modified:   clientscr/boinc_ss_opengl.h\n#       modified:   clientscr/boinc_ss_opengl.rc\n#       modified:   clientscr/screensaver.cpp\n#       modified:   clienttray/boinc_tray.h\n#       modified:   clienttray/boinc_tray.rc\n#       modified:   clienttray/tray_win.cpp\n#       modified:   clienttray/tray_win.h\n#       modified:   coprocs/NVIDIA/include/nvapi.h\n#\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\n$> git diff --cached\n$>\n\n\n\nMeaning, w/o any other interaction a tar'ed archive has modified files -\nand the diff is empty...\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205112","messageId":"50D03E34.8090609@gmx.de","threadId":"32373","inReplyTo":"50D03D80.3090005@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-18T09:58:12Z","receivedAt":"2012-12-18T09:58:12Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/18/2012 10:55 AM, Toralf Förster wrote:\n> failed test(s): t3600 t7508\n> \n> fixed   0\n> success 8342\n> failed  8\n> broken  56\n> total   8528\n> \n\nick forgot these :\n\nn22 /usr/portage/dev-vcs/git # grep -i \"^not ok\" /tmp/git.log | grep -v TODO\nnot ok - 15 Test that \"git rm -f\" fails if its rm fails\nnot ok - 16 When the rm in \"git rm -f\" fails, it should not remove the file from the index\nnot ok - 20 Re-add foo and baz\nnot ok - 21 Modify foo -- rm should refuse\nnot ok - 22 Modified foo -- rm -f should work\nnot ok - 23 Re-add foo and baz for HEAD tests\nnot ok - 24 foo is different in index from HEAD -- rm should refuse\nnot ok - 55 status succeeds in a read-only repository\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205116","messageId":"50D05E62.7090605@web.de","threadId":"32373","inReplyTo":"50D03D80.3090005@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2012-12-18T12:15:30Z","receivedAt":"2012-12-18T12:15:30Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 18.12.12 10:55, Toralf Förster wrote:\n> On 12/18/2012 02:56 AM, Andrew Ardill wrote:\n>> On 18 December 2012 03:01, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>>> On 12/17/2012 12:38 PM, Andrew Ardill wrote:\n>>>> On 17 December 2012 21:23, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>>>>> Hello,\n>>>>>\n>>>>> I'm faced with this situation :\n>>>>> http://lists.ssl.berkeley.edu/mailman/private/boinc_alpha/2012-December/017371.html\n>>>>> and even a \"git stash\" doesn't help.\n>>>>\n>>>> Hi Toralf,\n>>>>\n>>>> That list is private and not visible without an account. Can you\n>>>> transcribe the relevant parts?\n>>>>\n>>>> Regards,\n>>>>\n>>>> Andrew Ardill\n>>>>\n>>> Oh of course :\n>>>\n>>>\n>>> On 12/17/2012 12:03 AM, Gianfranco Costamagna wrote:\n>>>> So if you have further issues with boinc feel free to look in our debian\n>>>> git and feel free to download appropriate patches :-)\n>>>>\n>>>> Gianfranco\n>>> thx\n>>>\n>>> Currently I'm struggling with a git problem of the boinc repository\n>>> itself and b/c I'm using git for the linux kernel tree w/o any problems\n>>> since eons /me wonders whether this is a BOINC-repository specific problem :\n>>>\n>>>\n>>> After doing the following sequence with git 1.8.0.2 :\n>>>\n>>> $> git clone git://boinc.berkeley.edu/boinc.git\n>>> $> cd boinc\n>>> $> git checkout client_release_7.0.39\n>>> $> git checkout master\n>>> (sometimes I've to repeat this :\n>>>         $> git checkout client_release_7.0.39\n>>>         $> git checkout master\n>>> )\n>>> I'm faced with this situation :\n>>>\n>>> $ git status\n>>> # On branch master\n>>> # Changes not staged for commit:\n>>> #   (use \"git add <file>...\" to update what will be committed)\n>>> #   (use \"git checkout -- <file>...\" to discard changes in working\n>>> directory)\n>>> #\n>>> #       modified:   clientgui/AsyncRPC.cpp\n>>> #       modified:   clientgui/sg_BoincSimpleFrame.cpp\n>>> #\n>>> no changes added to commit (use \"git add\" and/or \"git commit -a\")\n>>>\n>>> (sometimes only clientgui/sg_BoincSimpleFrame.cpp is mentioned)\n>>>\n>>> Now these commands\n>>>\n>>> $ git checkout -- clientgui/AsyncRPC.cpp\n>>> $ git checkout -- clientgui/sg_BoincSimpleFrame.cpp\n>>>\n>>> doesn't help - the status is still the same (and ofc now I'm no longer\n>>> allowed to make a \"git checkout\" - due to un-commited changes).\n>>>\n>>> Now I'm wondering where to start to investigate this issue ...\n>>\n>> Hi Toralf,\n>>\n>> That does look like a weird issue. What operating system are you on?\n> \n> I'm running a stable Gentoo Linux x86, 32bit with gcc 4.6.3 and current\n> stable kernel 3.6.1x and 3.7.1, file system is ext4 at an external USB\n> 2.0 drive.\n> \n> FWIW from the boinc maintainer I know that all tags till 7.0.3X are\n> imported from svn.\n> \n> I upgraded to git 1.8.0.2 from 1.7.8.6 - situation is the same. The\n> emerge gave :\n> \n> failed test(s): t3600 t7508\n> \n> fixed   0\n> success 8342\n> failed  8\n> broken  56\n> total   8528\n> \n> Ok, now answering your other questions:\n> \n> \n> $> git stash\n> warning: CRLF will be replaced by LF in clientgui/AsyncRPC.cpp.\n> The file will have its original line endings in your working directory.\n> warning: CRLF will be replaced by LF in clientgui/sg_BoincSimpleFrame.cpp.\n> The file will have its original line endings in your working directory.\n> warning: CRLF will be replaced by LF in clientgui/AsyncRPC.cpp.\n> The file will have its original line endings in your working directory.\n> warning: CRLF will be replaced by LF in clientgui/sg_BoincSimpleFrame.cpp.\n> The file will have its original line endings in your working directory.\n> Saved working directory and index state WIP on master: 4a296dc - client\n> simulator: fix build errors\n> HEAD is now at 4a296dc - client simulator: fix build errors\n> \n> After that the situation is unchanged.\n> \n>> What happens if you do a hard reset to the branch?\n> \n> $> git reset --hard HEAD~1\n> \n> not better.\n> \n> \n>> What is the ouptut of git diff --cached ?\n> \n> The output is empty but \"git status\" shows still modified files.\n> \n> \n> \n> FWIW there's a related issue I'm wondering about which might help:\n> \n> $> git clone git://boinc.berkeley.edu/boinc.git\n> $> tar -cpf boinc.tar boinc/\n> $> rm -rf boinc/\n> $> tar -xpf boinc.tar\n> $> cd boinc/\n> $> git status\n> # On branch master\n> # Changes not staged for commit:\n> #   (use \"git add <file>...\" to update what will be committed)\n> #   (use \"git checkout -- <file>...\" to discard changes in working\n> directory)\n> #\n> #       modified:   client/win/boinc_log.h\n> #       modified:   client/win/boinc_log.rc\n> #       modified:   clientctrl/boincsvcctrl.cpp\n> #       modified:   clientctrl/boincsvcctrl.h\n> #       modified:   clientctrl/boincsvcctrl.rc\n> #       modified:   clientgui/AsyncRPC.cpp\n> #       modified:   clientgui/DlgEventLog.cpp\n> #       modified:   clientgui/DlgEventLog.h\n> #       modified:   clientgui/DlgEventLogListCtrl.cpp\n> #       modified:   clientgui/DlgEventLogListCtrl.h\n> #       modified:   clientgui/DlgExitMessage.h\n> #       modified:   clientgui/DlgItemProperties.h\n> #       modified:   clientgui/TermsOfUsePage.cpp\n> #       modified:   clientgui/TermsOfUsePage.h\n> #       modified:   clientgui/ViewNotices.cpp\n> #       modified:   clientgui/ViewNotices.h\n> #       modified:   clientgui/sg_BoincSimpleFrame.cpp\n> #       modified:   clientscr/boinc_ss_opengl.h\n> #       modified:   clientscr/boinc_ss_opengl.rc\n> #       modified:   clientscr/screensaver.cpp\n> #       modified:   clienttray/boinc_tray.h\n> #       modified:   clienttray/boinc_tray.rc\n> #       modified:   clienttray/tray_win.cpp\n> #       modified:   clienttray/tray_win.h\n> #       modified:   coprocs/NVIDIA/include/nvapi.h\n> #\n> no changes added to commit (use \"git add\" and/or \"git commit -a\")\n> $> git diff --cached\n> $>\n> \n> \n> \n> Meaning, w/o any other interaction a tar'ed archive has modified files -\n> and the diff is empty...\n> \nHej,\n\nI could re-produce the problem here:\ngit version 1.8.0.197.g5a90748\nMac OS X (that what I had at hands fastest)\n\n\nAfter doing \ngit checkout 5db4a05b5c8f9c420fc418727cafbb58e6051f1e\n(same as master ?)\nWe see that \nclientgui/AsyncRPC.cpp\nis full of CRLF and as it seems only CRLF, no single LF.\n\nThe file is classified as text:\n$git check-attr text  clientgui/AsyncRPC.cpp\n$clientgui/AsyncRPC.cpp: text: set\n(And we can see this in .gitattributes as well)\n\n(And there are more files affected, but I will only look at one of them)\n\nIf we remove the text attribute like this:\n$mv .gitattributes .gitattributes.sav\nwe see\n\n$git status\ndeleted:    .gitattributes\n#       modified:   clientgui/sg_BoincSimpleFrame.cpp\n\n\nIf we dig into the file:\n$git ls-files -s clientgui/AsyncRPC.cpp\n100644 6832333ad133181986ada54fe0229b45a30c614a 0       clientgui/AsyncRPC.cpp\n\nWe see that it is recorded under 6832333ad1\nAnd if we look into it:\n$git show  6832333 | od -c\n[snip]\nwe can see that the file has CRLF in the repo.\n\nSo my conclusion is:\nThe file has CRLF in the repo, but should have LF.\nThis is not a good thing, and the files need to be normalized.\n\nA very good instruction how to do this, is found here:\nhttp://kernel.org/pub/software/scm/git/docs/gitattributes.html\n(You may want to search for \"End-of-line conversion\" or \"core.autocrlf\")\n\nHTH\n/Torsten\n\n\n \n"},{"id":"205131","messageId":"20121218164132.GC20122@sigill.intra.peff.net","threadId":"32373","inReplyTo":"50D05E62.7090605@web.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-12-18T16:41:32Z","receivedAt":"2012-12-18T16:41:32Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Dec 18, 2012 at 01:15:30PM +0100, Torsten Bögershausen wrote:\n\n> I could re-produce the problem here:\n> git version 1.8.0.197.g5a90748\n> Mac OS X (that what I had at hands fastest)\n\nI could reproduce it, too, on Linux.\n\nThe reason it does not always happen is that git will not re-examine the\nfile content unless the timestamp on the file is older than what's in\nthe index. So it is a race condition for git to see whether the file is\nstat-dirty.\n\nBut you can make sure all files are stat-dirty by just resetting the\nindex:\n\n  $ git clone git://boinc.berkeley.edu/boinc.git\n  $ rm .git/index\n  $ git reset\n\nwhich shows the complete list of files with LF/CRLF normalization\nissues.\n\n> So my conclusion is:\n> The file has CRLF in the repo, but should have LF.\n> This is not a good thing, and the files need to be normalized.\n\nYes, exactly. The project has told git via .gitattributes that certain\nfiles should have particular line endings in the repository, but that is\nnot the case with the current versions. Doing:\n\n  $ git commit -a -m 'normalize line endings according to gitattributes'\n\non top of the commands above would fix it (for that commit and onwards,\nanyway).\n\n-Peff\n"},{"id":"205180","messageId":"50D19A4D.60000@gmx.de","threadId":"32373","inReplyTo":"50D05E62.7090605@web.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-19T10:43:25Z","receivedAt":"2012-12-19T10:43:25Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/18/2012 01:15 PM, Torsten Bögershausen wrote:\n> HTH\n> /Torsten\n\nThx Torsten - I forwarded this answer (and all the other answers) to the\nboinc alpha mailing list\n- there's now a discussion about that.\n\n\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205181","messageId":"50D19A7E.2070406@gmx.de","threadId":"32373","inReplyTo":"20121218164132.GC20122@sigill.intra.peff.net","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-19T10:44:14Z","receivedAt":"2012-12-19T10:44:14Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/18/2012 05:41 PM, Jeff King wrote:\n> I could reproduce it, too, on Linux.\n> \n> The reason it does not always happen is that git will not re-examine the\n> file content unless the timestamp on the file is older than what's in\n> the index. So it is a race condition for git to see whether the file is\n> stat-dirty.\n> \n\nAh - /me was wondering why sometimes (but rarely) I could not exactly\nreproduce the problem and was really wondering if the underlying file\nsystem (ext4) would give an extra layer of trouble or not.\n\nThx for that explanation.\n\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205408","messageId":"50D5A81B.1000306@gmx.de","threadId":"32373","inReplyTo":"20121218164132.GC20122@sigill.intra.peff.net","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Toralf Förster","fromEmail":"toralf.foerster@gmx.de","sentAt":"2012-12-22T12:31:23Z","receivedAt":"2012-12-22T12:31:23Z","isPatch":false,"sender":{"key":"toralf.foerster@gmx.de","avatar":null},"body":"On 12/18/2012 05:41 PM, Jeff King wrote:\n> I could reproduce it, too, on Linux.\n> \n> The reason it does not always happen is that git will not re-examine the\n> file content unless the timestamp on the file is older than what's in\n> the index. So it is a race condition for git to see whether the file is\n> stat-dirty.\n\n/me still wonders whether this race condition is a feature or an issue\nin GIT - b/c it means that 2 different people cloning the same\nrepository get different results.\n\n\n> \n> -Peff\n> \n\n\n-- \nMfG/Sincerely\nToralf Förster\npgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3\n"},{"id":"205428","messageId":"CAHkcotjv2EKdzJ3d-2YfFrHe0kv0keq1LVuzGAA5VwYTUTOcvw@mail.gmail.com","threadId":"32373","inReplyTo":"50D5A81B.1000306@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Dmitry Potapov","fromEmail":"dpotapov@gmail.com","sentAt":"2012-12-22T18:54:37Z","receivedAt":"2012-12-22T18:54:37Z","isPatch":false,"sender":{"key":"dpotapov@gmail.com","avatar":"https://avatars.githubusercontent.com/u/6568595?v=4"},"body":"On Sat, Dec 22, 2012 at 4:31 PM, Toralf Förster <toralf.foerster@gmx.de> wrote:\n>\n> /me still wonders whether this race condition is a feature or an issue\n> in GIT - b/c it means that 2 different people cloning the same\n> repository get different results.\n\nThe problem is that Git assumes that conversion from git to the worktree\nand back produces the same result. Unfortunately, this assumption is not\nenforced anywhere and when it is broken by editing .gitattributes, it may\nbe difficult to notice that immediately unless you do that trick with\nremoving the index and \"git reset\". Perhaps, it would be better if\ngit considered that timestamps on all files changed if .gitattributes\nis changed, so it would check all files for consistence, then anyone\nwho edits .gitattributes will be forced to fix the file ending to be\nconsistent.\n\nAnyway, when this underlying assumption is broken, it is easy to get\nthat race, because git checks only those files for modification that\nhave its timestamp equal or newer than the index. (The equal timestamp\nare inspected for modification, because the timestamp resolution can\nbe 1 second on some systems.) When you check out some version, some\nof files are going to have an older timestamp than the index (and thus\nthey are not inspected for modification) but those that have the same\ntimestamp as the index are inspected for modification.\n\n\nDmitry\n"},{"id":"205430","messageId":"7vhandrj5m.fsf@alter.siamese.dyndns.org","threadId":"32373","inReplyTo":"50D5A81B.1000306@gmx.de","subject":"Re: problem with BOINC repository and CR/LF","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-12-22T19:17:25Z","receivedAt":"2012-12-22T19:17:25Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Toralf Förster <toralf.foerster@gmx.de> writes:\n\n> On 12/18/2012 05:41 PM, Jeff King wrote:\n>> I could reproduce it, too, on Linux.\n>> \n>> The reason it does not always happen is that git will not re-examine the\n>> file content unless the timestamp on the file is older than what's in\n>> the index. So it is a race condition for git to see whether the file is\n>> stat-dirty.\n>\n> /me still wonders whether this race condition is a feature or an issue\n> in GIT - b/c it means that 2 different people cloning the same\n> repository get different results.\n\nThe primary point of Peff's demonstration was to show that you told\nyour repository to lie to Git, I think.  It promised that the\ncontents in the repository was with certain line endings when they\nare not.  At that point Git can do whatever happens when it trusts\nits behaviour on that broken promise.\n\nWhen the timestamp is set one way, Git happened to be extra careful\nfor other reasons---Git is not in the business of suspecting that\nthe user lied and double checking by wasting cycles [*1*]---and that\nextra check that does not have anything to do with the end-of-line\nconversion found that it was lied and noticed differences.\n\nThat is neither a feature nor a bug.\n\n[Footnote]\n\n*1* This extra carefulness is to handle the case where *filesystems*\nlie to Git.  The user cannot do anything to make the filesystem not\nto lie, so we try to be extra careful and examine the contents even\nwhen the stat information (incorrectly) says that the file is not\nmodified.  Also luckily this happens only to minority of the paths\n(i.e. you do \"git add\" and then replace the file with different\ncontents of the same length within the same timestamp granularity,\nor something like that), so we can afford to.\n"}]}