代码之家  ›  专栏  ›  技术社区  ›  Daniel Beardsley

在Linux上部署的Rails项目中,CRLF行正常吗?

  •  1
  • Daniel Beardsley  · 技术社区  · 16 年前

    现在我已经转换成git,我明白了 CRLF 行尾 . 我希望这一切都能始终如一( LF ),但这并不是以丢失已创建的每个文件的编辑历史记录为代价的 CRLF 行尾。

    我似乎记得shell脚本、cron文件或其他没有响应的东西有问题 CRLF 很好。

    core.autocrlf core.safecrlf 从转换所有文本文件 CRLF LF ... i、 e.core.autolf选件或类似选件?

    2 回复  |  直到 16 年前
        1
  •  10
  •   davitenio    16 年前

    如果您可以重写存储库的历史记录(请参阅 problems with rewriting history

    git filter-branch --tree-filter 'find . -path './.git' -prune -o -type f -exec dos2unix \{} \;' HEAD
    

    请注意,如果存储库中有二进制文件,则必须优化find命令以排除它们。

        2
  •  1
  •   Community CDub    8 年前

    A. comment Davidenio的回答和Daniel Beardsley的评论;我相信您可以使用这个小程序作为dos2unix的包装:

    #!/bin/sh
    for f in $@; do
        if [ $(file -b -n -i -m /dev/null $f | grep -c "text") -gt 0 ]; then
            dos2unix $f
        fi
    done
    

    尽管仍有一些极端情况会失败。