windows - 当 PC 程序员更新 Mac 程序员最近提交的文件时,SVN diff 将所有代码行标记为新代码

标签 windows svn macos dreamweaver

这是我目前遇到的场景:

  1. 程序员 A(使用 Mac 版本的 Dreamweaver)编辑文件 client.php 并将该文件提交到 Project Foo 存储库的生产分支
  2. 程序员 B(使用 Windows 版本的 Dreamweaver)编辑文件 client.php 以修复该文件中的错误。然后他执行 cp clientInfo.php ../prod-branch/clientInfo.php 将错误修复从他的工作副本带到生产分支。
  3. 程序员 B 然后执行 svn diff ../prod-branch/clientInfo.php 来查看 svn 所说的他的更改只是为了发现 svn 说他已经更改了文件中的每一行!

现在,这就是我认为正在发生的事情:

当文件被 Mac 编辑时,Mac 上的 Dreamweaver 将所有 Windows 换行符替换为 Mac 换行符,以便它在 Dreamweaver 中可读。简而言之,Dreamweaver 已更改文件中的每一行。现在,一旦提交完成,svn 就会看到文件的每一行 都已更改,并将这一事实标记下来。当 Windows 程序员进行更改并且换行符再次更改时,svn 再次认为每一行都已更改。

我的问题是:我们如何才能防止这种情况发生?我知道无法挽回已经造成的损害,但我想防止这种情况在未来发生。

最佳答案

您需要在所有文本文件上使用“svn:eol-style”属性。通常将其设置为“ native ”就足够了

关于windows - 当 PC 程序员更新 Mac 程序员最近提交的文件时,SVN diff 将所有代码行标记为新代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194620/

相关文章:

swift - 在 OSX : class is not key value coding-compliant for the key {name of binding var} 中绑定(bind)

c++ - 如何将 DLL 注入(inject) Delphi 程序

python - 防止 wxPython 显示 'Unhandled exception' 对话框

linux - 无法在 SUSE Linux 10.0 上构建 "cyrus-sasl-2.1.23"

SVN 如何解析 *文件夹* 上的 "local add, incoming add upon update"?

sql - 无法打开库 '/usr/local/lib/libmsodbcsql.17.dylib'

python - 如何从命令行在 python 2.7 和 python 3 之间切换?

c# - Powershell:在 applicationHost.config 中查找 allowedServerVariables 的脚本检查是否重复

SVN - 尝试从我的存储库中删除导入到错误位置的文件

java - GLFW 引擎和主线程问题 IntelliJ