问题标签 [version-control-migration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 有什么工具可以将仓库从 Vault 迁移到 Subversion?
是否有任何工具可以促进从Sourcegear 的 Vault到Subversion的迁移?
我真的更喜欢现有的工具或项目(我会买!)。
要求:
- 仅限一次性迁移
- 带有评论的完整历史记录
选修的:
- 对标签/分支/标签的一些支持
- 比较快。它可能需要几个小时,但不是几天。
- 费用(如果有)
如果您可以分享与此过程相关的个人经验,则可以加分。
我想这样做的原因之一是因为我们有很多项目分布在 Vault 和 Subversion 之间(我们终于远离了 sourcesafe)。在某些情况下,能够将特定客户的回购合并到 SVN 会很有帮助。
此外,SVN 在第三方工具中得到更好的支持。例如,Hudson和Redmine。
不过,再次重申:我们并没有完全放弃保险库。
tfs - Migrate your data from VSS Server to Team Foundation Server
Yesterday, I asked a question Migrate to TFS and the answer mentioned some very good tools which can be very helpful. Thanks to jwanagel. But I forgot to mention there the VSS server and TFS server are two different machines. And when you've both on different location it seems you would have to take a different path.
What would I have to do to migrate my Visual SourceSafe database which is on a different machine to a TFS Server which is on an another machine?
Thanks.
svn - Subversion 有类似 VSS 的链接吗?
我正在将 Visual SourceSafe 代码存储库迁移到 Subversion,但遇到了问题。
这是我们当前源代码树的简化布局(在 VSS 中):
我的问题在我们的两个arch_
文件夹中。每个arch_
文件夹将针对不同的硬件架构构建,但两个文件夹的内容实际上是相同的。中的文件arch_2
只是 中的文件的 VSS 链接arch_1
,只有少数例外。工作通常签入和签出arch_1
文件夹,VSS 链接确保此处签入的任何代码也在arch_2
文件夹中更新。
转到 Subversion,是否有任何行为类似于 VSS 的链接?也就是说,有没有办法让两个文件在不同的文件夹中神奇地相互关联,这样它们总是相互同步(对一个文件的更改也会影响另一个文件)?
注意:我知道这里的正确答案是修复构建系统。这个项目的构建系统大约是在十年前拼凑起来的,那时我们的编译器/构建系统还不够智能,无法为两个不同架构编译包含源代码的同一个文件夹。感谢make
和更新的编译器,我们可以重新编写构建系统来消除对两个并行源文件夹的依赖。但是,这将需要我们目前没有的时间(我们正在失去对 VSS 服务器的许可,并被迫在相当短的时间内进行迁移)。我希望找到解决此问题的 Subversion 解决方案,因为目前,我们的时间花在使迁移顺利进行比重新编写构建系统(这是我的待办事项列表中的下一个!)上要好得多。
感谢您的帮助!
澄清:我之前研究过使用外部定义,据我所知,它们只能在目录级别使用。我正在寻找在文件级别上运行的东西,因为我们的一些目录混合了共享/链接文件和非链接的特定于体系结构的文件。
version-control - 如何从 SourceGear Fortress 1.1.x 迁移到 TFS 2010?
我发现了这个问题,但它只是相似的,更重要的是,它已经过时了一年多。我希望有一些我在那里找不到的东西,这比那个答案所指向的要好。
要求:
- 保留源代码历史记录(即使只是松散地仅通过文本,因为我们之前的所有用户可能都不是在 TFS 存储库中创建的)
- 保留我们的物品跟踪历史(同样,即使只是松散的,因为 Fortress 在这方面并不是那么好)。最终,我想要一些可搜索的历史,了解我们过去所做的事情以及原因。我不一定需要所有的钩子将工作项与源代码或类似的东西联系起来,但我确实需要与工作项相关的讨论和决策。
svn - SVN 用通配符删除?
我正在将 VSS 存储库迁移到 SVN,并且在第一次签入时无意中包含了所有 _vti_cnf、*.scc 文件。我想从 SVN 中删除这些。(当然不是永久的——只是在 HEAD 中)。有问题的应用程序非常大,逐个文件夹查找和删除这些文件将花费很长时间。
建议?必须有一些明显的方法可以做到这一点,但是周末的临近干扰了我的高级大脑功能。
version-control-migration - 使用版本控制时 Web 开发文件的结构
我计划为我的 Web 应用程序使用版本控制 (Mercurial)。我将首先在我的笔记本电脑上尝试一下。我现在想我应该重组我的文件夹以将它们全部放在同一个存储库中。
我正在使用 PHP 框架(Kohana 3),所以我的文件夹结构目前如下。
我不太确定完成这项工作的最佳方法,但我认为如果我可以引用同一存储库中的所有文件(css、js 和 php)会很好。我应该如何构建我的文件来做到这一点?当我在网上查看其他可能的结构时,我看到的这个主干、标签、分支是什么?
谢谢。
version-control - 从 CS-RCS 迁移到 Mercurial
多年来,我一直在使用 ComponentSoftware 的CS-RCS Basic来管理我的各种单一开发人员项目。它对我来说效果很好,但现在我想迁移到现代版本控制系统,在研究了我的选择后,我决定使用 Mercurial。
问题是我一直使用 CS-RCS 的中央存储库,现在我想为单个项目使用单独的 Mercurial 存储库,保留我的 RCS 存储库中的历史记录。
经过一些深入的谷歌搜索后,我得出结论,这样做的唯一方法是将我的 RCS 存储库转换为单独的 CVS 存储库,然后将它们转换为 Mercurial。这两个网站可能是最有帮助的:
为了与 Jeff Atwood 提出并回答我自己的问题的想法保持一致,我将为陷入这种情况的其他人回答这个问题,以防我以后不得不再次找到它。正如您将看到的,虽然我确实找到了解决方案,但它很笨拙并且至少存在一个重大问题。如果其他人有更好的方法,我当然想听听。
svn - 将许多 CVS 模块转换为单个 SVN 存储库
我有一个相当大的 CVS 存储库,我希望只将少数模块转换为单个 Subversion 存储库。我已经被正确地指导使用cvs2svn进行转换,甚至已经构建了我自己的选项文件。我不需要保留标签或分支,但我想保留修订历史。我的问题是我希望我的模块位于单个主干文件夹下,例如 svn/trunk/module1 和 svn/trunk/module2 而不是 svn/module1/trunk 和 svn/module2/trunk。当我将路径设置为空时,它会引发关于路径为空白的错误。有什么建议么?
git - 在这种情况下如何处理与 Git 的共享代码?
我目前正在尝试将我们的版本控制切换到 Git(来自 CVSNT)。令人惊讶的是,我遇到问题的不是分布性或暂存区的概念。但是我很难理解这样一个事实,即分支、合并和标记等 AFAICT 操作总是在存储库级别而不是文件或目录级别应用......
我们在不同的项目中重用了很多代码。我的工作区域目前如下所示:
现在,假设 Project1 依赖于 LibA 和 LibB,Project2 依赖于 LibB 和 LibC,而 Project3 没有 lib 依赖项。这些库中的一些后来被编译成 DLL(或 BPL——我们的主要开发环境是 Delphi),其他只是可重用代码的集合,这些代码以逐个文件的方式包含在主要项目中。
WebDev 包含我们(大部分是静态的)公司网站的代码,其中还包含有关 Project1、2、3 的信息,因此可能必须与它们一起标记。
由于我经常在项目之间切换,我通常会同时检查所有这些,并在必要时将 lib 目录即时更新到适当的项目分支。
我将如何在 Git 中对此进行建模,坚持这种工作方式是否有意义?我已经阅读了有关 git 子模块的信息,但到目前为止,由于以下几个原因,我看不到如何在这里应用它:
据我了解,子模块总是会在它们各自的“超级项目”中检出。但是,我们发现使用 Delphi 管理(设计时)库代码的多个副本就像一个皇家 PITA,这就是我们将所有库保存在单个项目树之外的公共目录下的原因之一。其他副本仅由构建自动化检查,从不用于进行任何实际工作。
我真的不希望这些库与项目“独立”:如果我标记或分支其中一个项目,我也总是想标记或分支相应的库。当我想回到主项目的特定标记修订版时,我希望库也恢复到该状态。如果可能,标记/分支/签出应该始终在一个项目及其依赖项的单个步骤中发生。
我已经尝试将所有内容放在一个 Git 存储库中,其中库代码主要在主分支上管理,而“项目”每个都在自己的分支上,但是每当我尝试合并主分支和项目分支之间的 lib 更改时,它都会拉取在来自不相关库的所有文件中,这根本不是我想要的......
你们有任何想法如何最好地解决这一切?我对几乎所有建议持开放态度,包括我的工作树的新布局。
如果有人可以向我指出有关子模块的真正动手教程(或我需要完成此任务的任何其他技术),那也很棒。