gpt4 book ai didi

svn - Subversion 将未修改的文件标记为已修改

转载 作者:行者123 更新时间:2023-12-03 09:08:13 31 4
gpt4 key购买 nike

这是我在使用 Subversion 时遇到的一个奇怪问题:当从开发分支合并到主干(或返回,就此而言)Subversion 会将许多文件标记为已更改——而它们没有任何更改。

这是发生的事情:

  • 在我的分支中,我提交了 1 个修改后的文件
  • 在主干中,我合并了该提交
  • 许多其他文件和目录被标记为“已修改”而实际上并未更改(甚至没有更改空格、行尾、属性或诸如此类的东西)。

  • 从技术上讲,提交这些未更改的更改没有任何区别,但我不想在我的日志中添加噪音。

    知道什么可能导致这种滋扰,以及如何防止它?我可以问 Subversion 为什么文件被标记为已修改,以便我知道它是否是文件的内容、属性等?

    仅供引用 : 1.6.x 范围内的颠覆客户端,1.5.x 范围内的服务器。在 Mac OS X Leopard 上使用 Versions.app 和 CLI 的组合。

    最佳答案

    发生的情况是,一旦文件/文件夹具有明确的合并信息(即 svn:mergeinfo 属性),即使文件/文件夹不相关,每次后续合并到分支也会更新该合并信息。这确实很烦人,因为它在每次合并的更改列表中引入了越来越多的困惑。

    为了避免这种情况,只合并到分支的“根”文件夹,例如“/branches/maintenance2.x”。 “/branches/maintenance2.x”下面的任何文件或文件夹都不应该得到mergeinfo。关注 merging advice in the svn book .

    不幸的是,即使您仅在分支的“根”文件夹中合并,也会清空 svn:mergeinfo复制时,属性仍然可以出现在单个文件和文件夹上,以表明它们没有收到与其同级相同的合并。

    如果仅在根处合并,则删除多余的子树 mergeinfo 可能是安全的。一种方法是递归删除 svn:mergeinfo项目根目录中每个文件和文件夹的属性。

    这似乎已在 SVN 1.7 中修复。来自发行说明:Reduced subtree mergeinfo changes .

    关于svn - Subversion 将未修改的文件标记为已修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496884/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com