问题标签 [git-fast-import]
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.
git - git-p4 在不同的分支和仓库上同步
我正在尝试镜像一个 perforce 存储库,并且 git-p4 在主分支上表现得足够好。我只需要打电话git-p4 rebase
。我也在尝试镜像一个不同的分支,但这并不容易。我以为我可以做 agit-p4 rebase --branch=p4/whatever //open/branches/whatever
但rebase
似乎忽略了这些标签,如果我做 async
相反,我会收到错误消息:fast-import failed: warning: Not updating refs/heads/p4/whatever (new tip 14f7e14e5079bb730363440901adee102e5f04c9 does not contain 0ca89b0333f408367e3676720b109a08cc40b3ae)
我最初的导入是与@all 同步,为什么它不能更新,或者有不同/更好的方法来做到这一点?
git - git 快速导入提交顺序
我正在为Plastic SCM /Git 编写一个快速导出/快速导入套件,但我发现了一些问题。
正如我从文档中读到的:
这种设计允许前端程序同时处理无限数量的分支,按照它们从源数据中可用的顺序生成提交
但是,实现“导出器”我发现您无法引用尚未创建的提交。例如,假设您首先引入合并的提交目标而不是源,然后您只需在此处引用源,但它根本不起作用。
因此,据我所知,“按照它们从源中可用的顺序生成提交”这句话是完全错误的,并且 git fast-import 确实需要按顺序提供提交,并且引用只能存在于之前引入的对象中。
这是对的吗?
谢谢。
git - git fast-import --export-marks 标志
git fast-import --export-marks 能够导出将标记与其创建的提交哈希相关联的文件。
到目前为止,我看到标记不是输入中提供的标记,而是一些与输入无关的“内部标记”。
如果它保留原始标记,对于导入/导出互操作来说不是更好吗?
git - 快速导入/快速导出 git/bzr:标记文件对历史完整性的重要性是什么?
我目前正在使用 git-bzr-ng 从 bzr 存储库导入多个分支,我发现如果您为每个导入的分支使用不同的目标分支,则该工具不会使用相同的导入和导出标记文件。
阅读git fast-import 文档和查看bzr 快速导入文档示例表明,从同一存储库导入多个相关但未合并的分支时,应使用相同的标记文件。
问题是,这到底有多重要?我还没有找到一个很好的解释来解释这些标记文件打算保护什么,所以不清楚是否在没有正确使用它们的情况下导入了多个分支是否存在正确识别祖先的问题,或者它是否只是为了性能加快后续分支导入/导出的原因。
git - git fast-import 流的合并语义是什么?
我编写并维护了一个名为 reposurgeon 的开源工具,它可以编辑版本控制存储库历史记录,并可用于在 VCS 之间移动项目历史记录。最近我提供了对读取 Subversion 转储文件和 repos 的全面支持。但是有一件事 reposurgeon 还没有做得很好,那就是通过复制到 git 样式的 DAG 合并来翻译 Subversion 分支合并。
为了使这部分正确,我需要比我更好地理解 git fast-import 流中合并提交的语义。我的问题是关于合并提交后哪个版本的内容应该是可见的。
当然,合并提交附加的文件修改使它们的内容在那里可见。我的问题是关于提交未触及的路径。
如果一条路径仅在合并的一个提交链祖先上有内容,我假设内容应该是可见的。那是对的吗?
如果一条路径在合并之前的多个提交链中包含内容,那么哪个版本将可见?
如果一个文件沿着某些路径被删除到合并,什么规则预测它什么时候在合并修订中被删除?
git - 从 SourceAnywhere 导入 Git/GitHub
我们目前使用SourceAnywhere Hosted作为我们的版本控制服务器。我希望迁移到 GitHub,并且真的很想保留我们 8 年多的历史。
是否有其他人成功完成此迁移并愿意分享他们的工具/流程?
现在,假设以前没有这样做过,我想我正在考虑fast-import
使用 SourceAnywhere SDK 或命令行客户端编写一个 git 脚本。作为 git 新手,是否有任何现有的脚本或资源可以指导我作为起点?
git - 使用提交属性将集市迁移到 git 以链接修复的错误
我们使用 bazaar-vcs 已经有几年了,但由于一些长期存在的烦人的错误决定迁移到 git 并停止了 bzr 的开发。
在使用 bazaar 时,我们广泛使用了 bazaar 的“错误跟踪元数据”功能 ( http://doc.bazaar.canonical.com/bzr.dev/en/user-reference/bugs-help.html )。所以每个 bug-fix 提交都包含对应 mantis-bug-Id 的 ID,这样我们就有了 source 和 mantis 之间的链接。
我们的 commit-message 不包含 mantis-id,我们只使用了“元数据功能”:
对我们来说,不要丢失这些信息非常重要,所以我需要一个解决方案来以某种形式迁移这些错误链接。
我已经尝试使用快速导入/快速导出命令将我们的集市存储库导出/导入到 git 中:
bzr 快速导出 --no-plain --rewrite-tag-names /var/www/source_branch/ | git 快速导入
不幸的是,我收到以下错误:
但是,如果我使用选项--plain而不是--no-plain导入工作,但我们失去了与我们的错误的所有连接。
是否有一些解决方案/解决方法可以从 bzr 迁移到 git 而不会丢失所有这些对我们如此重要的错误链接?
[编辑]:我刚刚分析了快速导入/快速导出文件格式,它非常简单。应该可以编写一些脚本来修改文件并将(属性错误...)行移动到相应的提交消息行中。但是,如果有开箱即用的解决方案,我会很高兴听到它:)
git - 为什么 git 快速导入文件模式是硬编码的?
我正在尝试将我的 CVS 存储库转换为 GIT,但遇到了奇怪的问题:
git fast-import
硬编码文件模式为 100755 和 100644,否则它会死掉。
来源:
// https://github.com/git/git/blob/master/fast-import.c 2272-2288
有人可以解释一下这种解决方案的原因吗?
git - 如何将 72GB 的转储文件导入 git?
我已经使用 cvs2git (cvs2svn) 迁移了一个旧的 cvs 存储库。结果转储文件现在是 72GB 大,我尝试通过 git fast-import 导入转储总是失败,因为内存不足错误:
致命:内存不足,malloc 失败(试图分配6196691 字节)
快速导入:将崩溃报告转储到 fast_import_crash_13097
错误:git-fast-import 死于信号 11
因此我的系统有 32GB RAM 和 50GB 交换空间。我正在使用 Git 1.8.3.4(gcc44、python2.6.8、cvs2svn2.4.0)在 Red Hat 5.3 上运行导入。我也尝试过不限制堆栈大小和文件描述符,但内存错误仍然存在。
有人知道吗?
git - bzr 快速导出返回 bzr: 断管
我需要将我的 bzr 存储库导出到 git。为此,我正在尝试使用bzr fast-export --git-branch=mybranch --plain | git fast-import --force
. bzr 开始运行但停止并返回错误:
谁来帮帮我!谢谢!