问题标签 [cvs2svn]

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.

0 投票
1 回答
103 浏览

cvs2svn - cvs2svn 输出缺少文件

我最近使用 cvs2svn 转换了一个 CVS 存储库,但是我对输出感到困惑。运行该工具后,它似乎成功运行,但我的 SVN 中没有文件。

这是该工具运行后的输出。它看起来不错。然而,当我去我的回购..那里什么都没有。

我的输出目录如下所示:

README.txt conf db 格式挂钩锁

自述文件说:

这是一个 Subversion 存储库;使用“svnadmin”工具来检查它。除非您知道如何避免损坏存储库,否则不要在此处添加、删除或修改文件。

但是里面没有文件。当我尝试使用 TortiseSVN 时,我收到错误“检测到 URL 的重定向周期”

0 投票
1 回答
183 浏览

cvs - windows下的cvs2hg配置

我们计划将具有历史记录的复杂 cvs 存储库迁移到 Mercurial。

我已经在本地机器上配置了 cvs2hg,并且 cvs(pserver) 已经安装在远程服务器上。当我使用 cvs2hg(local) 将代码从远程 cvs 存储库迁移到本地 mercurial 存储库时,我遇到了以下错误。

请帮助我在 Windows 上配置 cvs2hg 并详细说明

  1. 使用 cvs2hg 时如何指定远程 cvs 存储库路径?
  2. 使用 cvs2hg 时如何指定 cvs 存储库模块?
  3. 完整的历史迁移应该注意什么?
0 投票
1 回答
60 浏览

cvs - cvs2svn 工具:我们可以在实时存储库上运行 cvs2svn。我的意思是实际的存储库?

我需要将 CVS 存储库迁移到 SVN 存储库。我在 CVS 服务器上安装了 cvs2svn。我可以直接在实时的 CVS 存储库路径上运行 cvs2svn 工具吗?URL“ http://cvs2svn.tigris.org/faq.html#oneatatime ”中的常见问题解答说我需要在我的存储库副本上运行一个工作。我是否已将 cvsroot 目录路径复制到 some/backup_dir 并在 backup_dir 上运行,或者我必须在结帐副本上运行?

如果我不想一次转换所有项目怎么办? “请记住在开始之前进行备份。永远不要在实时 CVS 存储库上运行 cvs2svn - 始终在存储库的副本上工作。”

请建议,我正在进行迁移。

0 投票
1 回答
356 浏览

svn - svnadmin 加载/转储文件执行的最大限制是多少

我正在将 cvs 和 Subversion 1.6 存储库迁移到新的 subversion 1.8 服务器。我使用 cvs2svn 进行 CVS 转储和 svnadmin 转储来创建转储文件并加载到新的颠覆服务器中。我的 CVS 存储库最大大小为 8 GB,Subversion 存储库大小为 15 GB。1.我可以使用 cvs2svn 转储 8 gb cvs 存储库吗?cvs2svn 将为 8 GB 存储库创建转储文件,并且该转储可以加载到颠覆服务器中。2.我可以将 svnadmin 转储(不是 delta)用于 15 GB 存储库,并且我可以在新服务器中加载吗? 运行 cvs2svn 转换和 svnadmin 加载和转储命令是否有任何大小限制或限制。请分享您可以遵循的方法和建议。

0 投票
2 回答
57 浏览

svn - 符号歧义和回购布局

我正在尝试使用 cvs2svn 从 CVS 转换为 SVN,我们希望布局在每个项目中都有主干/标签/分支。首先我尝试了这个:

这没有给我正确的布局。我将主干/标签/分支作为顶级目录,我的所有项目都在主干中。所以我开始搞乱选项文件方法并想出了这个:

但现在我得到了大量的歧义和错误:

CVS 中的标记、分支或导入似乎都有问题,并且 CVS 中没有遵循分支和标记的命名约定,因此实际上没有任何方法可以制定简单的规则来强制使用正则表达式的标记或分支。

以下是我正在使用的交易品种策略规则(我尝试了这些的各种组合,但我总是得到相同的结果):

两个问题:

  1. 为什么我在使用选项文件而不是在命令行上使用默认转换选项时会出现歧义?

  2. 有没有办法在不手动浏览我的 4600+ 行 symbol-info.txt 文件的情况下修复它?

0 投票
1 回答
162 浏览

python - cvs2git/cvs2svn 中的提交时间戳是如何生成的?

我正在通过 Cygwin 使用 cvs2git 将一个非常古老且巨大的 CVS 存储库转换为 Git。它工作正常,我开始测试新的存储库。我没有发现更大的特点。但我想知道如何确定提交/更改集的时间戳。

到目前为止,我确定某些 CVS 版本之间的时间戳相差 1 或 2 小时加上 x,其中 x 是从几秒或几分钟(大多数情况下)到两个 15 分钟的时间。许多时间戳仅相差整小时 (x=0)。

我想这与我发现是 cvs2svn 功能( http://www.mcs.anl.gov/~jacob/cvs2svn/features.html)的“时间戳纠错”有关。也许它也与时区有关。

我的测试结果表明,更改集中只有一个文件的所有提交都相差整小时。这支持了我的“时区假设”。但这也让我想到了如何确定具有多个文件的更改集的时间戳的问题。

我试图通过代码并发现(在 Google 的帮助下)在 cvs2svn_lib 的 config.py 中有一个“COMMIT_THRESHOLD”。我猜它用于在 CVS 中对基于文件的提交进行模糊测试。虽然代码看起来写得很好,但我对 CVS、SVN 和 Git 修订存储缺乏技术理解,这让我很难理解。

因此,如果有人能回答以下问题,我将不胜感激:

  • cvs2svn/cvs2git 如何确定具有多个文件的变更集的提交时间戳?
  • “时间戳纠错”cvs2svn/cvs2git 是如何工作的?(对我来说,功能背景比技术更重要。)

亲切的问候

编辑:

由于有人认为这个问题“太宽泛”,我恐怕我的观点不够清楚。所以我想举一个具体的(虽然是虚构的)例子:

cvs2git 为一个更改集找到 3 个文件更改。他们在同一天承诺(假设是 2016 年 2 月 30 日)。但他们的时代不同:

  • 文件 1:12:34:56
  • 文件 2:12:35:38
  • 文件 3:12:36:09

如果只是文件 1,我会认为 cvs2git 使用 2016-02-30T12:34:56 作为 Git 提交的时间戳。但是当所有 3 个文件的提交都属于一个更改集时,选择了哪个时间戳?

与此相关的是,当我的存储库被转换时,时间似乎也恰好调整了 1 或 2 小时。当更改集中只有一个文件时也会发生这种情况。我想这是某种时区调整。所以我想知道,为什么“时间戳错误更正”改变了我的时间戳,以检查我是否接受这些更改。我对转换后的 Git 存储库进行了一些统计,原则上提交时间对我来说似乎还可以;但这对我来说还不够。

0 投票
2 回答
293 浏览

git - 如何处理大量嵌套的 CVS 项目

以前从未这样做过,所以我可能只是个菜鸟……我正在尝试将我们陈旧的 CVS 存储库迁移到 GitLab,但我不确定如何处理嵌套的 CVS 项目。我们有很多(即大约 1600 个 .project 文件散布在 CVS 存储库中)。有大约 10 年的提交,总计约 21GB,超过两个 CVS 存储库目录。

一般结构是 $client/$product 但其中大多数包含一堆子项目 - 通常非常多。

到目前为止我已经尝试过:

  1. Monolithic:尝试导入较小的 CVS 存储库 - 第一次第 1 次内存不足(通过添加内存解决),第 5 次第 5 次时磁盘空间不足(无法真正添加磁盘,因为 vmware 数据存储几乎已满 -不要问!)。

  2. 按客户端:在一个客户端上完成 cvs2git,然后运行 ​​git --fast-import,但随后我注意到所有子项目。Git 不关心合并的历史,但我们的编码员会。阅读 git 子模块,但不确定这是我需要的,因为整个项目通常都在同一个 CVS 存储库中,我发现它使克隆项目的过程变得复杂。

  3. 通过客户端内的项目:使用 (2) 中的产品,递归 CVS 存储库深度优先,查找 .project 文件;在使用 git --fast-import 导入子项目之前,为每个子目录创建了一个子目录并在每个子目录上执行了 git init --bare。这花了很长时间,因为我相信它每次都必须处理整个 cvs2git blob 和转储文件,而且我不确定我最终得到了正确的 git 层次结构。

所以...与其再挣扎,我想我会在这里问,因为我确定其他人一定需要做这种事情。任何指针都非常感谢。


[编辑]:感谢所有的建议和帮助,人们。现在已经不在我的掌控之中了——他们(开发人员)已经决定在他们工作的时候逐步迁移 CVS 项目,所以大多数可能永远不会被迁移。为此,旧的 cvs 将作为只读参考保留,并且项目将签入到 git “pristine”,因此对于任何“BG”(在 git 之前)历史,它们将引用 cvs,但对于“AG”的历史,他们会咨询 git。

至于深嵌套项目的问题,我给出的解释是它与Java类层次结构有关,每个项目相当于一个类。在他们的构建过程中有一些东西可以自动将 cvs 项目更改为 java .jar 文件或类似的东西。里面有很多java。

0 投票
2 回答
107 浏览

cvs2svn - 指定要从 cvs2git 中排除的多个标签的格式是什么

我知道我可以通过执行以下操作将 CVS 存储库转换为 GIT,不包括所有 NIGHTLY_XXXX 构建标签

cvs2git --exclude='NIGHTLY_.*' --blobfile=git-blob.dat --dumpfile=git-dump.dat --username=dev /opt/mycvsrepository/mymodule

但是,如果我还想删除超过 1 个通配符,命令行参数的格式是什么?IE

“NIGHTLY_ ”和“BETA_RELEASE_ ”和“RC_*”

提前谢谢了

0 投票
1 回答
167 浏览

svn - 使用 cvs2svn 工具将远程 CVS 存储库迁移到 SVN

我正在尝试使用 cvs2svn 将远程 CVS 存储库迁移到 SVN。以下是我正在遵循的步骤

我收到以下错误。

有人可以帮忙吗?

0 投票
1 回答
110 浏览

cvs2svn - cvs2svn 更改源代码中的“日期”字符串

我转换了我们小组的两个 CVS 存储库并将它们加载到 SVN 中。但是我发现有些文件被改变了!!!

例如,static char rcsid[] = "$Revision: 1.1.1.1 $$Date: 2007/06/25 16:56:59 $";

已更改为 static char rcsid[] = "$Revision: 1.1.1.1 $$Date: 2007-06-25 16:56:59 $";

这些是实际的字符串,而不是注释。(其他一些更改的字符串在注释中,没关系)。那么为什么 cvs2svn 会这样做呢?以及如何防止 cvs2svn 这样做???我添加了 --keywords-off 选项,但这并没有什么不同。

谢谢你的帮助!