我在svn版本控制下有一些软件。它包含我想要的版本控制源以及一些我没有添加到svn的构建和输出文件。
当我提交新版本时,我想确保它适用于检查它的任何人。例如,我可能忘记了svn-添加我新创建的一些重要文件,其他文件现在使用。由于我在我的工作目录中有文件,所以一切正常,但对于检查新版本的人来说不行。
我不确定是否有svn命令删除所有未受版本控制的本地文件,但如果有,则删除这些文件不是一种选择。
如果有人理解我的问题是否有一种简单的方法可以克服它?
(我能想到的最好的方法是检查一个临时目录中的最后一个版本,创建一个带有svn diff的补丁,将它应用到临时目录并查看它是否有效)
结论:
根据hmjd的建议,检查列表中所有不受版本控制的文件,并结合设置一致的svn:忽略Dialecticus建议,我应该保存,不要错过任何重要的文件,我猜想。
答案 0 :(得分:4)
使用continuous integration tool,Jenkins或Hudson之类的CruiseControl,它可以在完成每次提交后自动检出并构建。它可以设置为在构建中的某些内容被破坏时向您发送邮件。
答案 1 :(得分:0)
您可以在提交对存储库的修订(或提交之前)之后查看svn status
命令的输出。所有可能未提交的文件都将标有问号(?
)。您将看到忘记提交的文件以及构建和输出文件。
答案 2 :(得分:0)
我使用TortoiseSVN并更新所有(子)文件夹中的svn:ignore属性,以便忽略所有应忽略的文件。在提交之前很容易发现新的无版本文件。
对于某些项目文件(如Visual Studio .sln / .csproj)中包含的文件,理论上可以创建一个脚本来解析这些文件并验证项目文件中是否存在某些未版本控制的文件,并在此情况下中止提交
答案 3 :(得分:0)
我可能会遗漏一些东西,但是......为什么不在硬盘中的任何其他位置查看新的工作副本?这样你也可以测试硬编码路径。