问题标签 [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 - 将大 bzr 存储库转换为 git,会发生什么?
我正在尝试将一些旧的集市存储库转换为 git,虽然一切似乎都顺利进行,但我有点不确定它是否真的像它声称的那样顺利。
我的集市存储库的结构如下:
- 回购
- 树干
- 产品
- 功能/功能分支X
- 特征/特征分支Y
我正在使用快速导出/快速导入方法在 bzr 和 git 之间进行迁移。
最初,我使用 --export-marks 迁移“主干”,如下所示:
以 $1 为名称
然后迭代“repo”目录中的所有其他文件夹并调用
$nick 是 bzr 的分支昵称,$1/$b 是分支的目录名。
正如我所说,它处理所有预期的目录,但完成后,当我做
它只显示了 20 个分支,而原来的 bazaar 存储库有 80 多个。
现在,只看git中的“master”,它似乎都在那里,丢失的60个分支很容易是已经合并到主干的分支。但是我不确定快速导出/快速导入工具是否足够聪明,可以说“哇——你不需要这个”,但也许它们是。
有人对这个有经验么?
从 bzr 迁移到 git 后,我是否只应该留下“master”和任何未合并提交的分支?
最后,为了历史的缘故,有没有什么办法可以强制所有的分支都被转换过来,即使它们在技术上已经失效了?
git - 从 bazaar 转换为 git 并同步它们的正确方法
我在 bazaar 中有一个开发存储库,我想将其转换为 git 并保持同步。我需要这个,因为我将与不了解集市的人分享我的代码。
首先,我需要将我的集市回购转换为 git。我四处搜索,发现这个博客提到了从 bazaar 转换为 git 的简单步骤。但是当我尝试运行时bzr fast-export
,它说没有这样的命令。
我尝试安装 bzr 快速导出,由sudo apt-get install bzr-fastexport
. 看来我实际上必须安装fastimport。所以我尝试了这个:sudo apt-get install bzr-fastimport
。现在我也可以运行 bzr fastexport。以下命令成功:
现在我在 git 中有相同的仓库。但是如何保持同步?谷歌搜索后,我发现我必须使用git-bzr-ng,但 github repo 上没有说明。知道怎么做吗?或任何其他选择?
git - 如何使用 jgit 实现快速导入?
JGIT API 是否提供对 git 快速导入的支持?
截至目前,我们正在使用 git fast-import cli 命令,但根据我们的要求,我们不应该使用 cli 命令。
如何使用纯 JGIT API 类实现快速导入功能?
请提供实施 git fast-import 的示例或步骤?
还有其他用于 git 快速导入的 java API 吗?
git - 如何将我 git 快速导出的一系列提交导入快速导入的文件?
我通过以下方式导出了一系列提交(一个分支)git fast-export
:
现在我正在尝试重新导入它。我得到的最接近的是:
编辑:也尝试过:
git-fast-import没有给我任何线索。我应该如何进行?
一些我不太了解的链接:
mercurial - 将 git-fast-import 流增量导入到 Mercurial?
我正在转换一些较旧的存储库,并根据需要对它们进行拼接和切割,以获得一个未来的存储库。历史上的一些疤痕组织(其中大部分是由于以前的 VCS 中的语义造成的)也必须去除,但总的来说,转换似乎很顺利。
只是需要很长时间。
背景:我正在使用reposurgeon
基于git-fast-import
流的工作。目标格式是 Mercurial。
如何在旧 VCS 仍处于活动状态时导入引入到旧 VCS 中的新代码增量,这样我就不必每次都运行完整的转换例程?
git - 将现有文件提交到现有 Git 存储库,同时保留时间戳
情况是这样的:我有一堆很久以前的文件(当我没有使用任何类型的源代码控制时),我很想将它们放到现代 Git 存储库中。
我为此找到了一个工具 - file-fast-export。它获取现有文件并吐出一个可以馈送到git fast-import
. 到目前为止还好。
唯一的问题是 fast-import 对输入格式有点挑剔,而 file-fast-export 并不是一个特别完善的程序——它假设文件正在被导入到新的存储库中。
所以我的用例是这样的:我有一个 git 存储库。我发现了一个以前丢失的子目录。文件修改时间在那里。我需要在当前存储库历史记录之上提交每个文件,以便提交时间戳对应于修改时间。据我了解,Git 不会强制提交具有按时间顺序连续的时间戳,只是提交彼此跟随。如果我能做git log xxxxx.txt
并查看文件历史记录,我会很高兴。
我确信有工具可以做到这一点。我怎样才能做到这一点?
git - 如何使用 git fast-import committer 命令?
我使用 git fast import 创建了一个 git 存储库。我想更新其中单个文件的提交者信息。如何更新单个文件的提交者信息?
git - git快速导入不起作用
我只是尝试删除特定提交背后的历史记录。我在Git: how to remove history before a specific commit以下命令中发现:
我刚刚为我的案例更改了命令(我需要分支 ip6_dev 的最后 65 次提交):
当我运行命令时,我得到以下输出:
我错过了什么?
git - Git快速导入没有保留行尾
我正在通过使用 Git 的快速导入命令和 StarTeam 的 SDK 将 StarTeam 存储库迁移到 Git。所有工作都在 Windows 上进行。尽管大多数文件都是 Windows 格式 (CRLF),但也有 2 个文件是 UNIX 样式 (LF)。在我的第一次尝试中,这两个文件将它们的 LF 转换为 CRLF。
问题最终是我将 core.autocrlf 设置为 true。删除该全局设置并重新运行导入后,这两个文件将保留其原始 EOL 格式。
git-p4 - 致命:不支持的命令:Users.Ref "KPLUS"
我正在将几个 Perforce 项目迁移到 Git。一个在 18% 的过程中失败了:
致命:不支持的命令:Users.Ref "KPLUS"
看起来 git fast-import 正在尝试执行文件中应该打印的文本(我认为)
快速导入崩溃报告告诉我
文本位于似乎格式不正确的 xml 文件中,但我认为这无关紧要。