我如何看到修改过的文件,但未从服务器提交?

时间:2010-01-19 14:05:59

标签: svn tortoisesvn

在SourceSafe中,我可以知道是否有人修改了文件但没有提交,因为该文件将被锁定。

默认情况下,Svn不能使用锁,这很好,但我怎么知道是否有人修改过任何文件并忘记提交?

在我的工作中,我们在开发机器上编译dll并发送到staging,我知道与subversion服务器集成的构建服务器解决了这个问题,但我不想在此时这样做。

PS:我关心的是使用旧的.cs编译项目,因为程序员可能没有进行提交。

5 个答案:

答案 0 :(得分:5)

这不是SVN的工作原理。

SubVersion使用源代码控制的编辑 - 合并 - 提交方式。任何人都可以随意更改任何文件。提交时,如果存在冲突,可以合并(自动或手动)

有关锁定和编辑合并提交的更多讨论,请访问:

VSS to Subversion

答案 1 :(得分:1)

你可以在每个人开始修改文件之前做一个内部程序,他要求SVN服务器锁定。这样每个人都会收到他正在处理该文件的更新。

但这样可以消除Subversion的好处,即更多人可以同时处理同一个文件,并合并结果。

答案 2 :(得分:0)

除非我误解你,否则你可以在更新后运行Check For Modifications命令。

答案 3 :(得分:0)

这种部署方式不适合Subversion。您声明您不想放置构建服务器,因此您必须依赖所有开发人员在部署之前执行一致的步骤,以便在发送到分段时不会遗漏任何内容。我如何解决这个问题是创建一个构建脚本来执行以下操作(仅用于发布到分段):

  • 从Subversion下载最新内容
  • 构建所有输出
  • 运行单元测试
  • 将所有修改文件提交回SVN
  • 将装配推送到暂存
  • 推送后配置更改/环境准备

这样,未提交的更改将不会出现在暂存中的任何内容中。

答案 4 :(得分:0)

您可以使用svn status检查是否有任何本地未经修改的更改。

要知道是否有人有一些未经修改的更改,您需要说服/贿赂/支付/吓唬其他人每天运行测试,或将其放入cron或其他调度程序。当然,你会因为某些原因(例如尚未完成,不能正常工作等)而留下的文件感到震惊。