【问题标题】:SVN shows unmodified files as modifiedSVN 将未修改的文件显示为已修改
【发布时间】:2014-04-25 12:09:30
【问题描述】:

我有以下问题:

案例 1:我签出一个 svn 存储库,使用 Sublime 或 gedit 或 nano 打开一个文件,然后我没有做任何事情就保存它。当我对该文件执行 svn diff 时,会出现一堆行,好像它们已被修改。我回到基地。

案例 2:我用 vim 或记事本打开同一个文件(在 wine 上)保存文件而不做任何修改,并且 svn diff 应该是空的。

有没有人经历过这样的行为?这真的很烦人,我无法创建合适的补丁。

谢谢

【问题讨论】:

    标签: svn vim diff sublimetext3


    【解决方案1】:

    行尾可能存在问题。 尝试在 Sublime/gedit 选项中查找以不转换行尾或每次强制保存正确的行尾。

    【讨论】:

    • 没有缝合修复它。问题是对于某些文件它会这样做,而对于其他文件则不会,我检查了 svn props 并发现那里注意到了。这是一个示例代码:- if (!is_null($row['fh_delete'])){ - $v = $row['fh_delete']; + if (!is_null($row['fh_delete'])){ + $v = $row['fh_delete']; } 还检查了是否没有尾随空格
    • 你是对的,问题在于行尾。唯一的问题是,我不知道有什么设置可以让你不理会行尾
    【解决方案2】:

    打开您的用户首选项 (Preferences -> Settings-User) 并添加以下选项:

    "atomic_save": false
    

    请参阅this question 和我在下面的回答,以完整解释什么是原子保存,以及它如何干扰许多外部程序,包括(我想)像 Subversion 这样的版本控制系统。本质上,当"atomic_save"true(Sublime Text 3 中的默认值)时,保存文件会创建一些临时文件,删除原始文件,然后将临时文件重命名为原始文件名。 SVN 可能正在处理这个问题,并将整个文件显示为已更改,而实际上您并没有对其进行任何操作。

    【讨论】:

    • 非常感谢您的帮助。我已经尝试过这个设置,但它无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 2016-03-08
    • 2021-07-28
    • 2013-10-10
    • 2012-08-18
    • 2023-03-20
    • 2012-04-02
    • 2014-04-09
    相关资源
    最近更新 更多