持续版本控制

9
我还没有见过一种连续的版本控制系统 - 一种可以在您开发代码时保存更改而不是等待官方检查的系统。当然,这些更改将被保存为“未检入”,但它们将被备份和供他人查看,直到您进行官方检入之前。
我还没有见过这种系统,想知道它是否存在以及类似的系统,以及它可能或不可能是一个好主意的原因。
现在,程序员认为源代码控制是整合代码包,但为什么不将这些包变得更小并持续集成呢?
-Adam
16个回答

2

有些人会为此目的设置一个开发分支,并让开发人员在工作时提交他们的更改,然后将其合并到质量保证级别的分支中。甚至可以让一个开发人员在自己的分支中进行重大更改,然后再将这些更改提交和合并到主开发分支中。因此,分支可以解决这个问题。


2

我认为Eclipse在每次保存时都会做类似的事情,或曾经这样做。当我试图识别错误时,我的代码被破坏了几次,这个功能帮了我不少。


1

我有多年的Java编程经验,仍然怀念Visual Age带来的新颖开发方式。Visual Age采用非文件式的源代码处理方式,将代码存储在关系型数据库中。通常你会在一个显示单个方法的视图上工作。你也可以使用完整的文件视图,但不会经常使用。

关于版本控制,它会在每次保存时生成一个版本。你可以显式地为方法、类/接口、包或整个项目设置版本号/名称进行检查点。它还允许更细粒度地控制你的源代码。一旦我开始使用Eclipse,虽然它继承了许多Visual Age的功能,并且今天具有保存所有代码“保存”的历史记录功能,但我仍然感觉自己退步了。


Smalltalk-80 已经有了这个功能,我认为 Visual Age 只是从那里继承了它。 - starblue
关于 Eclipse,尝试使用 Java 浏览透视图。 - starblue
所有的Visual Age产品,包括VA Java都是VA Smalltalk的后代,并且实际上都是用Smalltalk实现的(是的,甚至包括VA Cobol)。第一个非Smalltalk版本是VA Java Micro Edition,它是VA Java的Java移植版。然后,VA Java ME被分成组件并更名为... - Jörg W Mittag
Eclipse。因此,VA Java有Smalltalk的感觉并不奇怪:它是一个Smalltalk IDE。即使Java库和Java VM也是用Smalltalk实现的:IBM只是扩展了他们现有的Smalltalk VM,以便能够执行Java字节码;他们称之为UVM... - Jörg W Mittag
在VA工作确实有独特的感觉。唉,我不认为有任何主要的Java IDE遵循这种方法。 - Dan
显示剩余2条评论

1

正如Dan所提到的, IBM Visual Age IDE会保存每个版本的源代码文件。然而这种方法不仅限于IDE,DEC VMS操作系统在其版本文件系统中也采用了类似的方法。在VMS中,每个文件的完整名称都包含一个版本号,并且每次保存文件时,都会创建一个带有比之前最高版本号高一的版本号的新副本。

两种方法都缺乏分支(或任何特别设计以便让多人共同处理同一源文件的功能),因此不完全符合我们今天所知的版本控制。但是,它们都能够备份防止人为错误,这对我来说是版本控制最有用的方面。


1

理性的ClearCase有一个动态视图的概念。在Windows上,您的开发视图显示为映射驱动器,但只要您保存,您的代码更改就会存储在服务器端。这是您要寻找的吗?

Si的答案以上所述,以这种方式工作存在一些权衡,因此这并不是建议...


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接