2013-12-13 23 views
2

我在linux机器上有一个裸机的git仓库,我从Windows机器上推送它,并使用linux机器上的post-receive hook来检查它到本地文件夹。为什么在输入中没有输入的情况下diff输出中有cr字符?

在Windows机器上,我有core.autocrlf=true,并在Linux机器上core.autocrlf=input。我也有一个.gitattributes与文件,内容如下:

* text=auto 
*.csv text 

在Linux机器上我diff'ing在库(由Windows机器生成)csv文件由生成的非库文件Linux机器:

diff -iw -U0 repofile.csv localfile.csv > out.txt 

当我打开repofile.csv和localfile.csv分别在六,例如,无论是文件有CR字符,这就是我想要的。但是,当我打开out.txt时,请注意,每行末尾都有来自repofile.csv的行的CR字符。

什么给?我完全不知道为什么CR字符会出现在diff的输出中,而没有输入文件中有CR字符。

回答

0

确保core.autocrlf is false两台服务器上:你不希望Git的自动修改任何文件,除非你明确地指示Git的(通过core.eol .gitattributes directives)。

由于core.autocrlf覆盖core.eol,这可以解释您持续看到的CR。

+0

这似乎没有解决问题。在diff'ed文件中,我仍然看不到CR,但我在diff输出中看到了CR。 – ralbatross

相关问题