【问题标题】:Locking files in collaboration work在协作工作中锁定文件
【发布时间】:2013-05-21 20:48:40
【问题描述】:
所以我的公司使用 force.com 和 force.com IDE 来开发我们的平台,作为一家成长中的公司,拥有世界各地的开发人员,我们的项目越来越大,我们需要一种锁定文件的方法,以便没有任何东西可以被覆盖。我读过的所有内容都说锁没有用,或者只是使用 Git,但 git 只是创建文件的存储库并保留备份,我真的想访问一个文件,并且在我释放它之前不让其他任何人访问该文件。这将确保我所做的任何更改都将被保存并且不会被意外覆盖,并使协作变得更加容易。有人知道我们可以使用什么来实现这个目标吗?最好不是命令行的东西,也不是与 force.com IDE 集成的东西,这几乎是 Eclipse 与预先打包的一堆 force.com 插件。
【问题讨论】:
标签:
version-control
eclipse-plugin
collaboration
force.com
【解决方案1】:
快速解答
您要求的是 RCS 和 CVS 中的核心功能;这些修订控制系统为文件提供了写锁(尽管锁是可破坏的),因此如果一个用户签出了要写入的文件,其他人就无法提交。
恕我直言
话虽如此,这是一种繁琐且相当可怕的协作开发方式。它不必要地序列化了原本可以并行运行的进程。例如,如果您和我正在合作,并且您正在向同一模块中的软件添加新功能(使用同一文件),而我在当前版本中发现了一个错误,我需要修复它才能继续工作释放分支,强制锁定将不起作用。
你真的应该看看硬执行写锁定文件的后果;从长远来看,您最终会在环境中产生更多问题。这来自于 20 多年管理大型软件开发项目的经验。我谦虚地建议你在选择 RCS 或 CVS 的古老方法之前,对 GIT、SVN 或 BZR 进行非常认真和彻底的研究。
【解决方案2】:
您可能想看看 Borland 的 Starteam - 一个相当不错的 VCS,具有每个文件的提交和锁定。它有一个 Java GUI 客户端。我们用了很多年(后来改用 Mercurial)。
但我建议你掌握 Mercurial(或 Git)。多人同时更改同一个文件没有错,只要更改可以在以后轻松合并,并且大多数 DVCS(Mercurial 和 Git)都非常擅长合并。拥有本地全功能存储库会带来许多好处和更大的灵活性。在我看来,锁不是团队工作。协作,而不是限制。