我打算从CVS切换到Git。 在SVN的情况下,似乎有cvs2svn 。 有没有类似的工具,可以轻松地从CVS迁移到Git?
比方说,你有一个典型的Web应用程序和文件configuration。 每个在这个项目上工作的开发者都会为他们的开发工具箱提供一个版本,这将会有一个开发者,制作者和舞台版本。 你如何处理源代码pipe理? 根本不检查这个文件,用不同的名字检查它,或者做一些奇特的事情?
介绍和背景 我们正在改变源代码pipe理系统,我们正在评估git和mercurial。 总的代码基础是大约600万行代码,所以不是很大,也不是很小。 首先让我们先简单介绍一下当前版本库devise的外观。 我们有一个完整的代码库的基础文件夹,在这个层次下面有几个不同的上下文中使用的所有sorting模块。 例如,“dllproject1”和“dllproject2”可以看作是完全独立的项目。 我们正在开发的软件是我们所说的configuration器,可以根据不同的客户需求进行无尽的定制。 总的来说,我们可能有50个不同的版本。 但是,他们有一个共同点。 它们都共享一些强制模块(mandatory_module1 ..)。 这些文件夹基本上包含内核/核心代码和通用语言资源等。所有定制可以是其他模块(module1 ..)之间的任意组合。 由于我们目前正在使用CVS,我们在CVSROOT / modules文件中添加了别名。 他们可能看起来像这样: core –a mandatory_module1 mandatory_module2 mandatory_module3 project_x –a module1 module3 module5 core 所以如果有人决定在project_x上工作,他/她可以通过以下方式快速检出所需的模块: base>cvs co project_x 问题 直观地说,将基础文件夹作为单个存储库是错误的。 作为程序员,您应该能够检查出当前正在使用的项目所需的确切代码子集。 你对此有什么想法? 另一方面,将这些模块中的每一个都放在单独的存储库中感觉更为正确。 但是这使程序员难以检查他们需要的模块。 你应该可以通过一个命令来完成这个任务。 所以我的问题是:在git / mercurial中定义别名是否有类似的方法? 任何其他问题,build议,指针,非常欢迎! PS。 我已经search了类似的问题,但并不觉得其中的任何一个100%适用于我的情况。
我将与其他人一起使用来自使用CVS的项目的代码。 我们想使用分布式的vcs来完成我们的工作,当我们完成或者偶尔每隔一段时间,我们想把我们的代码和我们所有的修订历史提交给cvs。 我们没有对项目的cvs repo的写权限,所以我们不能经常提交。 我们可以使用什么工具将我们的修订历史导出到CVS? 目前我们正在考虑使用git或者mercurial,但是如果可以使导出更容易,我们可以使用其他分布式vcs。
我知道1000多个类似的话题。 我在这里读了5条线,但为什么我还不确信DVCS呢? 我只有以下几个问题(注意我只是自私地担心Java项目) 什么是本地提交的优点或价值? 什么? 真? 所有现代IDE允许你跟踪你的变化? 如果需要,你可以恢复一个特定的变化。 此外,他们有一个function来标记您的更改/版本在IDE级别!? 如果我的硬盘崩溃怎么办? 我的本地存储库在哪里? (那么和login中央仓库相比,它有多酷?) 离线或在飞机上工作。 有什么大不了的?为了让我用我的修改来构build发行版,我最终必须连接到中央存储库。 直到那时,我怎么跟踪我的变化在本地并不重要。 好的Linus Torvalds把自己的生命献给了Git,并讨厌其他一切。 这是否足以盲目地赞美? 与我的中型项目中的海外开发人员相比,Linus与世界不同? 打我!