【问题标题】:Ignore re-generated but unchanged files in a Subversion commit忽略 Subversion 提交中重新生成但未更改的文件
【发布时间】:2015-06-18 09:14:41
【问题描述】:

我们使用 Entity Framework 5。有时我们会发现,如果我们对模型进行更改,所有类文件都会被删除并重新创建,尽管其中大多数包含与以前完全相同的代码。

Subversion 将所有这些文件标记为已删除/新文件,并在提交时上传所有文件的新版本,无论其内容是否实际更改。这很烦人,因为它很难跟踪哪些文件实际发生了更改。

有什么方法可以让 subversion 只在提交中包含那些实际更改过的文件?

我们使用的是 TortoiseSVN 1.7.11,Build 23600;和 AnkhSVN 2.3.10838.1211 和 Visual Studio Professional 2012

【问题讨论】:

  • 我们发现 EF 5 的行为仅在模型中出现错误时发生 - 这使得 EF 删除所有文件,并仅在所有错误都得到纠正后重新生成它们。所以我们现在要做的是从 SVN 中恢复所有文件,然后重新保存模型,这样就只重新创建了模型更改的文件。

标签: entity-framework visual-studio svn tortoisesvn ankhsvn


【解决方案1】:

作为解决方法,您可以使用颠覆挂钩并禁止在同一修订版中删除/添加具有相同名称的文件。然后用户将负责将“替换”转换为“修改”。这也很烦人,但会更好地回顾历史,更好地合并和更新。

【讨论】:

  • 谢尔盖您好,感谢您的建议。它提供了轻微的改进,但我认为它只是将痛苦转移到其他地方,而不是提高效率。
  • 好吧,你可以询问 AnkhSVN 开发人员是否可以检测到这种情况(重新创建相同的文件)并且不执行添加/删除操作。甚至可能已经存在这样的选项(我从未使用过 AnkhSVN)
  • 仔细想想,这些文件根本不应该在源代码控制之下,真的。它们由 EF 模板生成,因此在某种程度上它们是构建工件,而不是原始源。我将研究如何完全忽略它们并在此处发布答案。
  • 我不太确定。例如,如果您将使用 msbuild 作为持续集成的一部分构建项目,则不会生成这些文件。不过需要检查。
猜你喜欢
  • 2010-10-13
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 2010-09-10
  • 1970-01-01
相关资源
最近更新 更多