Version control 在协作工作中锁定文件

Version control 在协作工作中锁定文件,version-control,eclipse-plugin,collaboration,force.com,Version Control,Eclipse Plugin,Collaboration,Force.com,因此,我的公司使用force.com和force.com IDE来开发我们的平台,作为一家不断发展的公司,随着世界各地的开发人员和我们的项目越来越大,我们需要一种锁定文件的方法,以便任何内容都不能被覆盖。我读到的所有东西都说锁没有用,或者只是使用Git,但Git只是创建文件的repo并保存备份。我确实想访问一个文件,在我发布该文件之前,不给任何其他人访问该文件的权限。这将确保我所做的任何更改都将被保存,不会被意外覆盖,并使协作更加容易。有人知道我们可以用什么东西来实现这个目标吗?最好不要使用命令

因此,我的公司使用force.com和force.com IDE来开发我们的平台,作为一家不断发展的公司,随着世界各地的开发人员和我们的项目越来越大,我们需要一种锁定文件的方法,以便任何内容都不能被覆盖。我读到的所有东西都说锁没有用,或者只是使用Git,但Git只是创建文件的repo并保存备份。我确实想访问一个文件,在我发布该文件之前,不给任何其他人访问该文件的权限。这将确保我所做的任何更改都将被保存,不会被意外覆盖,并使协作更加容易。有人知道我们可以用什么东西来实现这个目标吗?最好不要使用命令行,也不要使用与force.com IDE集成的东西,后者几乎是eclipse和一堆预先打包的force.com插件

快速回答 您需要的是RCS和CVS中的核心功能;这些版本控制系统为文件提供写锁(尽管锁是可破解的),这样,如果一个用户签出了一个文件进行写操作,其他人就无法提交

依我拙见 话虽如此,进行协作开发是一种麻烦且相当可怕的方式。它不必要地序列化了原本可以并行运行的进程。例如,如果您和我正在协作,并且您正在同一模块中向软件添加新功能(使用相同的文件),而我在当前版本中发现了一个需要修复的bug,以便继续在发布分支上工作,那么强制锁定将不起作用


您真的应该看看硬强制执行写锁定文件的后果;从长远来看,您将在环境中制造更多的问题。这来自于20多年管理大型软件开发项目的经验。我谦恭地建议您在选择RCS或CVS的古老方法之前,对GIT、SVN或BZR进行一次非常认真和彻底的研究。

您可能想看看Borland的Starteam——一个具有每个文件提交和锁定的相当不错的VCS。它有一个JavaGUI客户端。我们用了好几年(后来改用Mercurial)


但我建议你掌握Mercurial(或Git)。如果几个人同时更改同一个文件,只要这些更改以后可以很容易地合并,那么就没有什么错,而且大多数DVC(Mercurial和Git)都非常擅长合并。而且,拥有一个本地的全功能存储库可以带来许多好处和更大的灵活性。在我看来,锁并不是团队工作。合作,而不是限制。

这不是我的选择,我的老板一心想要的locks@gil:-)那么RCS就是你的朋友了