Re: Applying .gitattributes text/eol changes
From: Marc Strapetz <hidden>
Date: 2016-06-15 22:50:25
quoted
If a "git checkout" would (optionally) make sure that all EOLs are properly set according to .gitattributes, the problem would be resolved. As this might be not so easy to implement, my suggestion was to make "git reset --hard" work more unobtrusive. I think we can provide a corresponding patch, if it has chances to get accepted.There have been other cases where git update-index --really-refresh wasn't enough. You might want to check whether that is a suitable "patch attack vector". This might be useful not only for you but also for others.
So your suggestion is to fix "git update-index --really-refresh", so it's a replacement for "rm .git/index"? This sounds reasonable, especially as "rm .git/index" is something one feels not comfortable about when performing the first time ;-) Anyway, I'm still wondering if it will resolve the "git reset --hard" problem of re-checking out every file, even if content is already identical in the working tree. I think that part has to be fixed, too. What do you think about "git checkout --fix-eols" option as an alternative? Its uses cases are more limited, though. -- Best regards, Marc Strapetz ============= syntevo GmbH http://www.syntevo.com http://blog.syntevo.com On 13.01.2011 15:37, Michael J Gruber wrote:
Marc Strapetz venit, vidit, dixit 13.01.2011 15:28:quoted
quoted
quoted
case of missing .git/index, Git freshly writes all working tree files, ignoring already existing files which already have the correct content. Maybe this behavior is by intention and makes sense in some cases. In my case it has adverse effects on IDEs and probably other tools which are monitoring the file system....but changing gitattributes is something you don't do routinely in your workflow; so, at worst there would be an occasional unnecessary run of your build process.Our Git-SVN bridge does it, potentially on every pull. This is why we currently need to run "rm .git/index && git reset --hard" after every pull, resp. every checkout (switching to another commit may result in changed .gitattributes as well).OK, now you're telling us what this is about ;)quoted
If a "git checkout" would (optionally) make sure that all EOLs are properly set according to .gitattributes, the problem would be resolved. As this might be not so easy to implement, my suggestion was to make "git reset --hard" work more unobtrusive. I think we can provide a corresponding patch, if it has chances to get accepted.There have been other cases where git update-index --really-refresh wasn't enough. You might want to check whether that is a suitable "patch attack vector". This might be useful not only for you but also for others. Michael