gpt4 book ai didi

android - 将 Linux 更改 merge 到 Android 内核项目中

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:24 24 4
gpt4 key购买 nike

试图在这里解决这个问题。尝试将最新的 linux 3.0 更改 (3.0.41) merge 到我正在处理的基于 HTC 源代码 (3.0.8) 的内核项目中。我下载了源代码,提交了基本文件,将 linux-stable 树添加为远程,并尝试将其与“git merge linux-stable/linux-3.0.y” merge 。在回复中,我得到:

错误:未跟踪的工作树文件“Documentation/DocBook/dvb/dvbstb.pdf”将被 merge 覆盖。中止

这是 .gitignore 中的一个文件。如果我 git add -f 该文件,它只会在 .gitignore 中的下一个文件出错。有没有办法让我在没有这些错误的情况下干净地 merge 它?我不想逐个提交,因为会有成千上万的提交要 merge 。

最佳答案

首先,如果您可以找到作为现有 git 存储库的 HTC 源代码,您将会很多更好。在您手动构建的树中缺少正确的 git 历史将不可避免地导致冲突。 HTC 源实际上是 vanilla Android 的一个分支,它(大概)是 vanilla Linux 的一个分支,但是没有完整的历史,git 只能尝试有效的双向 merge ,因为它没有共同的祖先为了进行适当的三向 merge 。因此,除非您是能够处理这些冲突的经验丰富的内核程序员,否则我预计您会遇到很大的困难。

无论如何,如果无法获得完整的历史记录,您的树将没有共同的根,因此您需要咨询How do I join two git repos without a common root, where all modified files are the same?。 .

关于 .gitignore 问题,如果您的文件在 3.0.8 树中被忽略但在 3.0.41 树中被跟踪,那么听起来您在 之间存在不匹配每棵树中的 .gitignore 文件,所以你应该比较它们,试着找出原因,并决定应该跟踪什么,不应该跟踪什么。 3.0.41 树中的 git blame .gitignore 可能对此有所帮助。 3.0.41 树将是两个存储库中更权威的,因为它具有完整的历史并且内部自洽,因此您可以尝试将其 .gitignore 移植到之前的 3.0.8 树中您的初始导入提交。还要注意,树中的任何地方都可能有 .gitignore 文件,而不仅仅是顶层(我不知道 Linux 内核是否这样做)。

关于android - 将 Linux 更改 merge 到 Android 内核项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com