在SourceSafe中,我可以知道是否有人修改了文件但没有提交,因为该文件将被锁定。
默认情况下,Svn不能使用锁,这很好,但我怎么知道是否有人修改过任何文件并忘记提交?
在我的工作中,我们在开发机器上编译dll并发送到staging,我知道与subversion服务器集成的构建服务器解决了这个问题,但我不想在此时这样做。
PS:我关心的是使用旧的.cs编译项目,因为程序员可能没有进行提交。
答案 0 :(得分:5)
这不是SVN的工作原理。
SubVersion使用源代码控制的编辑 - 合并 - 提交方式。任何人都可以随意更改任何文件。提交时,如果存在冲突,可以合并(自动或手动)
有关锁定和编辑合并提交的更多讨论,请访问:
答案 1 :(得分:1)
你可以在每个人开始修改文件之前做一个内部程序,他要求SVN服务器锁定。这样每个人都会收到他正在处理该文件的更新。
但这样可以消除Subversion的好处,即更多人可以同时处理同一个文件,并合并结果。
答案 2 :(得分:0)
除非我误解你,否则你可以在更新后运行Check For Modifications命令。
答案 3 :(得分:0)
这种部署方式不适合Subversion。您声明您不想放置构建服务器,因此您必须依赖所有开发人员在部署之前执行一致的步骤,以便在发送到分段时不会遗漏任何内容。我如何解决这个问题是创建一个构建脚本来执行以下操作(仅用于发布到分段):
这样,未提交的更改将不会出现在暂存中的任何内容中。
答案 4 :(得分:0)
您可以使用svn status
检查是否有任何本地未经修改的更改。
要知道是否有人有一些未经修改的更改,您需要说服/贿赂/支付/吓唬其他人每天运行测试,或将其放入cron或其他调度程序。当然,你会因为某些原因(例如尚未完成,不能正常工作等)而留下的文件感到震惊。