我不得不转移我蚀的工作空间,从Linux Windows当我的桌面崩溃。一个星期后我复制回到Linux,码令人高兴的是,提交简历。唉,windows新行污染的许多文件,因此CVS差异转储整个文件中,甚至在我改变了一线或两个!

我可以煮了一个脚本,但是我想知道如果这会搞乱我的日食的项目文件。

有帮助吗?

解决方案

如上所述 这里这里:

将文件编码设置为 UTF-8 以及 Unix 新文件的行尾,以便文本文件以非特定于 Windows 操作系统的格式保存,并且最容易在异构开发人员桌面之间共享:

  • 导航到工作区首选项(常规:工作区)
  • 将文本文件编码更改为 UTF-8
  • 将新文本文件行分隔符更改为其他,然后从选择列表中选择 Unix

alt text

  • 笔记:要转换现有文件的行结尾,请在 Eclipse 中打开该文件并选择 File : Convert Line Delimiters to : Unix

提示:您可以通过在包资源管理器中选择然后转到菜单项来轻松转换现有文件 File : Convert Line Delimiters to : Unix

其他提示

我有同样的,蚀污染文件,即使一行的变化。 解决方案:Eclipse的git的设置 - >添加条目: 重点:core.autocrlf 值:true

有一个方便的bash工具 - dos2unix - 这是一个DOS / MAC到UNIX的文本文件格式转换器,如果不是你的发行版已经安装,应该能够通过的软件包管理器可以轻松安装。 DOS2UNIX的人页

除了日食的解决方案和工具中提到的 另一个答案, 考虑 翻页.它可以"盖"任何一种方式之间的正常和窗户换行,并且不错的东西喜欢保留文件的时间标记和其他统计数据。

你可以用它来解决您的问题:

find . -type f -not -path './.git/*' -exec flip -u {} \;

(我把一个条款,要忽略你的.git目录的情况下,你偏,但由于翻忽略的二进制文件的默认情况下,你可能不需要这个。)

您可以试试看。问题是,Windows赋予了新的线时,插入一个回车符,以及换行符。 Unix的系统只需插入一个换行符。因此,额外的回车符可为什么你的eclipse与新行弄乱的原因。

抓住从你的项目的一个或两个文件,并将其转换。你可以使用记事本++这样做。只要打开该文件,去格式 - >转换为Unix(当你使用的是Windows)。

在Linux的只是尝试这在命令行上:

sed 's/$'"/`echo \\\r`/" yourfile.java > output.java

要递归除去从CVS / *文件的回车(\r)在所有的子目录,运行在UNIX壳以下内容:

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top