【发布时间】:2011-04-25 00:42:34
【问题描述】:
以下问题变得越来越普遍:
- 有几个开发人员正在开发一个包含新文件(通常是图像)的项目
- 每个人都说一切都已签入,我们冻结了开发。我们不知道,有些图像没有签入。用户没有注意到丢失的文件,因为它们是新的,而不是签出,所以 svn 看起来很好
- 代码已编译和部署(抱歉,没有 QA 团队)
- 第二天客户告诉我们丢失的图像
- CTO 向我们宣读了暴动法案
注意:图像路径既存在于代码中,也存在于数据库中,因此获取所有使用过的图像的完整列表并不容易。
我的希望是写一个C#小程序供大家在部署前运行。我想找出项目目录中的哪些文件(或其中一个是 subdir.s,递归地)尚未添加到 subversion。理想情况下,我还想排除主动添加到忽略列表中的项目。
我们在 Windows 主机和客户端上使用 TortoiseSVN。
如何以编程方式发现未添加的文件?
到目前为止我能找到的最接近的东西是 this 说要使用 svn status | grep -e ^? 但这看起来像一个 Unix 命令。
【问题讨论】:
-
不是答案,但是当我通过 Tortoise 提交时,我总是选中“显示未版本控制的文件”框。这显示了目录中尚未添加的每个文件,并提醒我将它们签入。您想要忽略的东西(.suo、.user、ReSharper 文件等)可以忽略一次,它将防止这使差异数据变得丑陋,只留下真正的未签入文件。
-
对我来说这听起来像是一个人的问题。 “每个人都说一切都签入”是不够的,下一个破坏构建的人应该支付 10 美元(团队的存钱罐)。创建一个工具来检查另一个工具是否正确使用听起来非常错误。
-
无论我们多么努力,我们至少有时会破坏构建。 (如此努力以至于我们从不破坏它是浪费时间)。这是个好问题,因为根据我的经验,#1 签入错误是缺少新文件。
-
@JoeEnos 在我们的例子中,'“显示未版本控制的文件”框已选中'从未显示未添加的新文件。我们使用带有 UI 的“TortoiseSVN 1.8.0,Build 24401 - 64 Bit,2013/06/17 18:15:59 Subversion 1.8.0,-release on windows7”
-
@ShirishHerwade 自从我使用 SVN 已经有一段时间了,但我不希望这种行为会改变。我最好的猜测是那些丢失的文件已经在你的忽略列表中。
标签: svn tortoisesvn