如何鼓励SVN更频繁的提交

Yaa*_*lis 14 svn version-control visual-sourcesafe commit

我工作的一组开发人员大约半年前从VSS切换到SVN.从CheckOut-CheckIn到Update-Commit的过渡对很多用户来说都很难.现在他们不再被迫在完成文件时检查他们的文件(或者更确切地说,现在没有其他人可以看到他们已经检出文件并告诉他们重新检查以释放锁定文件),它不止一次发生,用户忘记了他们的更改,直到他们完成很久.

虽然大多数用户都很擅长提交他们的更改,但问题非常严重,可能会决定强制用户在编辑之前锁定SVN中的所有文件.我宁愿不看到这种情况发生,但我对如何以另一种方式改善情况感到茫然.所以任何人都可以建议如何做以下任何一种方法:

  1. 跟踪用户已编辑但尚未提交更改的文件
  2. 鼓励用户在完成后更改与提交更改一致
  3. 帮助完成让人们习惯新版本控制范例所需的用户教育

开箱即用的解决方案受到欢迎(即:如果桌面程序在给定的时间间隔内没有提交,则提醒用户提交,自动获取用户提交率的统计信息,并在频率低于某个阈值时发送警告电子邮件等).

Gre*_*ill 14

...用户忘记了他们的更改,直到他们完成很久.

我认为这就是问题所在.如果没有签入,功能/错误修复如何"完成"?您是否有问题跟踪系统来记录未解决的问题?您是否有一个持续集成系统,一旦签入就运行单元测试?

如果开发人员只是在没有责任的情况下做自己的事情,那么你遇到让每个人都合作的问题就不足为奇了.您需要某种监督(项目经理?团队负责人?)谁负责确保各个开发人员与开发团队的其他成员合作.

  • +1功能在暂存环境中进行测试后才会"完成".如果直接从subversion部署到staging(如你所愿),这将修复忘记提交问题. (3认同)

z-b*_*oss 6

您是否使用任何类型的错误/功能跟踪软件?
您可以要求他们在完成工作时勾选修订号.


Ber*_*ben 6

如果您之前使用过VSS,则可能在Visual Studio中工作.AnkhSVN有一个待定的更改窗口,如TFS和VSS中的窗口.此工具窗口自动显示解决方案中本地修改的文件.

使用此挂起的更改窗口进行更改可以轻松处理小/逻辑更改并提前提交这些更改,而不是稍后提交.

[查看较旧的AnkhSVN版本的屏幕截图]


Rem*_*anu 5

我认为你遇到的问题实际上是缺少一个带有跟踪错误/功能/变化的备用构建系统组合.通过错误跟踪系统和连续构建,开发人员只有在他的更改进入自动构建并且构建了包含更改的发行版之后才能声明"完成",通过构建验证测试并将其放在发布放置位置.由于改变"使"成为构建的唯一方法是签入(可能反向将功能分支集成到主分支/主干),开发人员必须签入,否则他们永远不会完成任何事情.