On 09/23/14 22:40, Junio C Hamano wrote: > Laszlo Ersek <ler...@redhat.com> writes: > >> On 09/23/14 21:56, Junio C Hamano wrote: >>> Laszlo Ersek <ler...@redhat.com> writes: >>> >>>> What do you think about accepting only "/dev/null\n" and "/dev/null\r\n"? >>> >>> I thought we agreed that what you are doing is not workable in the >>> first place, no? >>> >>> I suspect one way to handle "In this project, the files that are >>> checked out must be with CRLF line endings no matter what the >>> platform is" might be to use the line ending attributes to force >>> that while keeping the in-repository data with LF line endings. The >>> diff output (format-patch output is just one of them) comes from >>> comparing the in-repository representation, so you won't have \r\n >>> that will be stripped via MTA in it, "apply" and "am" will apply the >>> patch without having to worry about \r\n, _and_ the line ending >>> attributes would end the lines in your in-working-tree files with >>> CRLF that way. >> >> This would be a perfect solution if the git repository was not a mirror >> of a Subversion repository that contains all files with embedded CRLFs. > > Yikes. > >> Anyway I accept defeat, thanks for your time. > > I do not consider that a "defeat". It is just I do not think it is > the right solution for the problem you are having to butcher "apply". > You'd need to find some other way to solve it, and other people on > the list may be able to offer a solution neither of us thought of in > this thread. > > Perhaps those who are on Windows have more experience in situations > like yours?
I'm not on Windows, "obviously". :) The overwhelming majority of the EDK II developers use windows, and connect directly to subversion. They work with CRLF line endings "natively". Jordan (CC'd) operates a robot that mirrors SVN commits to the git repo on github, with "git svn". "git svn rebase --use-log-author" fetches the new SVN commits to the robots local git clone, and then "git push" (as usual) pushes them to github. This is being done so that people knowing git don't lose their sanity, trying to work with SVN. The process works very well, up to a point (git-loving people clone the github mirror, and submit patches with git-format-patch / git send-email to edk2-devel). The problem is when you want to apply patches with git-am from the list -- the CRLFs are a mess. Hence my thread starter here. We can get around this by maintaining personal forks on github, pushing our patches there too in parallel with the email postings. People can then fetch directly, and avoid git-am altogether. But this is very cumbersome -- you need a github account, you need an edk2 fork on github, others need to add your repo as a remote, etc etc, while the review occurs anyway in our MUAs. Thanks Laszlo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html