Version control 我们应该如何应对应用程序中的重大变化?

Version control 我们应该如何应对应用程序中的重大变化?,version-control,project-management,Version Control,Project Management,我们有一个巨大的应用程序,在我们的源代码管理()中有18个项目 每当我们在做一些小的修改时,一切都很好,因为每个开发人员都有自己签出的一组文件,希望在签入之前没有人需要它们(大约4到8小时) 但是,当我们想要进行大的更改时,开发人员会将如此多的文件签出几天,使其他人很难完成分配给他们的任务 下面是一个场景,例如: 上周,我们想实现一个特性,使用分页机制获取应用程序中的每个列表。因此,我们应该改变UI、业务和数据访问层。 有一个开发人员被分配到这个任务,她签出了很多文件,并且她正在阻止其他任务 我

我们有一个巨大的应用程序,在我们的源代码管理()中有18个项目

每当我们在做一些小的修改时,一切都很好,因为每个开发人员都有自己签出的一组文件,希望在签入之前没有人需要它们(大约4到8小时)

但是,当我们想要进行大的更改时,开发人员会将如此多的文件签出几天,使其他人很难完成分配给他们的任务

下面是一个场景,例如: 上周,我们想实现一个特性,使用分页机制获取应用程序中的每个列表。因此,我们应该改变UI、业务和数据访问层。 有一个开发人员被分配到这个任务,她签出了很多文件,并且她正在阻止其他任务


我们应该如何计划开发这些功能?

切换到更好的版本控制系统。VSS存在设计问题及其硬锁原则。Subversion是免费的,可以用于大规模应用程序开发。分支和标记是廉价的操作,并且没有硬锁

有了Subversion,您的公司肯定会生活得更好。试试看

易于在任何系统(Windows/Linux)上安装

集成在Windows资源管理器中的Windows客户端

至少阅读前几章


还有许多其他的替代方案,但是VSS在大规模开发中是一个难题。既然有更好的免费解决方案,为什么还要选择供应商呢?

切换到更好的版本控制系统。VSS存在设计问题及其硬锁原则。Subversion是免费的,可以用于大规模应用程序开发。分支和标记是廉价的操作,并且没有硬锁

有了Subversion,您的公司肯定会生活得更好。试试看

易于在任何系统(Windows/Linux)上安装

集成在Windows资源管理器中的Windows客户端

至少阅读前几章


还有许多其他的替代方案,但是VSS在大规模开发中是一个难题。既然有更好的免费解决方案可供选择,为什么还要选择供应商呢?

,迁移到真正的SCM,microsoft可能会帮助您无缝升级到没有此问题的TFS。或者迁移到任何一个FOSS SCM,如subversion,但迁移可能会更困难(但可能更便宜)。

,迁移到真正的SCM,microsoft可能会帮助您无缝升级到没有此问题的TFS。或者迁移到任何一个FOSS SCM,如subversion,但转换可能会更困难(但可能更便宜)。

使用在合并模式(乐观)下工作的版本控制系统,而不是在锁定模式下工作

合并模式是乐观的,因为它假定更改通常不会在同一个位置进行。如果它发生在同一个地方,那么通常很容易解决


可以在合并模式下工作的版本控制系统的一个示例是CVS。它现在已经过时,但还有其他版本存在。

使用在合并模式(乐观)下工作的版本控制系统,而不是在锁定模式下工作

合并模式是乐观的,因为它假定更改通常不会在同一个位置进行。如果它发生在同一个地方,那么通常很容易解决


可以在合并模式下工作的版本控制系统的一个示例是CVS。它现在已经过时了,但还有其他的存在。

SVN是解决您问题的答案。我用过它,用它学习/工作很轻松。但是这条街上有几个新来的孩子。尝试我听到了很多关于它的消息,尽管我还没有机会尝试它

SVN是解决您问题的答案。我用过它,用它学习/工作很轻松。但是这条街上有几个新来的孩子。尝试我已经听说了很多关于它的事情,尽管我还没有机会尝试它

如果现在升级到真正的风投不是一个选项,让做主要功能的人下载所有内容的本地副本,然后在版本控制之外进行更改。一次合并所有内容(周末或其他时间,以防变得复杂)

这对那些在进行“重大更改”时需要版本控制的开发人员没有帮助


好吧,你用你的工具做你该做的。他总是可以安装像git这样的现代风投,在本地运行。只需将整个基线检查到git中(减去历史记录)就可以了。

如果现在无法升级到真正的VCS,请负责主要功能的人员下载所有内容的本地副本,然后在版本控制之外进行更改。一次合并所有内容(周末或其他时间,以防变得复杂)

这对那些在进行“重大更改”时需要版本控制的开发人员没有帮助


好吧,你用你的工具做你该做的。他总是可以安装像git这样的现代风投,在本地运行。只需将整个基线检查到git中(减去历史记录)就可以了。

您考虑过共享和分支吗?此外,您还可以允许有经验的用户进行多次签出。在您进行大型应用程序更改的情况下,我建议先添加标签,然后创建一个分支。如果“大的变化”发生了什么,您将无法更改生产版本。您可以在发布的代码中进行快速修复,然后在准备就绪后将它们合并为“重大更改”。查看帮助主题“共享和分支”。

您考虑过共享和分支吗?此外,您还可以允许有经验的用户进行多次签出。在您进行大型应用程序更改的情况下,我建议先添加标签,然后创建一个分支。如果“大的变化”发生了什么,您将无法更改生产版本。您可以在发布的代码中进行快速修复,然后在准备就绪后将它们合并为“重大更改”。查看帮助主题“共享和分支”。

VSS只是一个