以下问题日益普遍:
注意:图像路径都在代码和数据库中,因此要获取所有已使用图像的完整列表并不容易.
我希望在部署之前为每个人编写一个小的C#程序.我想找出项目目录中的哪些文件(或其中一个subir.s递归)尚未添加到subversion中.理想情况下,我还想排除积极添加到忽略列表中的项目.
我们正在使用TortoiseSVN与Windows主机和客户端.
如何以编程方式发现未添加的文件?
到目前为止,我能找到的最接近的是这个说法,svn status | grep -e ^?但这看起来像Unix命令.
Enc*_*ncy 14
svn status | grep -e ^?
Run Code Online (Sandbox Code Playgroud)
这是unix命令,但我很确定,如果你从Tortoise执行提交,你可以看到带有问号的新文件,这些文件不受svn控制
Jai*_*oto 11
这个问题被标记为,tortoisesvn所以我假设你的团队正在使用TortoiseSVN作为客户端.正如@Joe Enos所建议的那样,TortoiseSVN会显示与其中的条目不匹配的无版本文件svn:ignore.我想知道是否添加其他工具可能会有所帮助,因为团队应该已经使用TortoiseSVN检查未版本控制的文件.
否则,C#程序在SVN工作目录中查找未版本控制的文件似乎有些过分.正如@Josh Kelley建议的那样,您可以使用命令行SVN客户端(例如CollabNet或Slik SVN)和grep.
您还可以使用findstrWindows命令行中提供的命令:
svn status | findstr "^?"
Run Code Online (Sandbox Code Playgroud)
编译和部署代码(对不起,没有QA团队)
这不是真正的问题吗?如果您将未经测试的代码发送给客户,那么当然第一个发现任何问题的人将是客户.也许(除了解决这个特定问题)你需要做的是在构建过程中添加至少一些基本的自动(或手动)功能测试,有时在编译代码和将代码交给客户端之间.
您可以使用SharpSvn,并编写如下内容:
SvnClient client = GetClient();
client.Status(workingCopyPath, (o, e) =>
{
if(e.LocalContentStatus == SvnStatus.NotVersioned)
{
Console.WriteLine("Not versioned: " + e.FullPath);
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:这也将尊重您的忽略文件和svn:ignore属性.
| 归档时间: |
|
| 查看次数: |
22299 次 |
| 最近记录: |