Git p4克隆未跟随文件更改到其他分支



我正在尝试将我的(巨大的(p4 repo迁移到git。我做了p4 clone //proj/branchA@all,它做了预期的事情——做了一个回购,记录了这个分支创建的历史。问题是这个分支是从另一个分支创建的,所以第一个"提交"是Branching //proj/branchB/... to //proj/branchA/...

现在,当我尝试使用Intellij Idea查看Annotations时,我可以看到直到创建文件的所有更改。Idea运行的命令是filelog -i -l -t -m 1000 /path/to/file。日志如下:

...
... ... branch into //proj/branchC/.../file#1
... ... branch into //proj/branchX/.../file#1
change #1234 edit on ...
... ... branch into //proj/branchY/.../file#1
...

现在很明显,有一种方法可以跟踪文件并查看当前分支上存在的更改之外的更改。有人能帮我使用git p4或任何其他服务传输所有历史记录吗?

您可以克隆两个分支以分离repo,然后使用git将它们组合在一起。

不幸的是,我记不起如何将树枝嫁接在一起的全部细节了。

https://superuser.com/questions/1005412/how-can-i-make-a-set-of-commits-the-children-of-another-commit-in-git

可能https://git-scm.com/docs/git-filter-branch会有所帮助。

AFAIK-Git跟踪每个分支的合并,而p4跟踪每个文件的合并。因此,前者无法存储后者中包含的所有信息。通过修补变更列表与最新提交之间的差异,每个变更列表都会进行导入过程。在这个过程中,git-p4不查看文件的日志来搜索集成信息。但即使它尝试过,也无法将其导入git。因此,目前git-p4应该能够导入您的p4存储库,并使用git分支对其进行组织,但有一些限制:

  • 您需要提供源和目标分支对
  • 原来的";分支";p4中的创建不能包含修改,否则可能无法正确检测源的变更列表

最新更新