Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Linux更改合并到Android内核项目中_Android_Linux_Git_Merge_Kernel - Fatal编程技术网

将Linux更改合并到Android内核项目中

将Linux更改合并到Android内核项目中,android,linux,git,merge,kernel,Android,Linux,Git,Merge,Kernel,我想在这里弄清楚。尝试将最新的Linux3.0更改3.0.41合并到一个基于HTCSource3.0.8的内核项目中。我下载了源代码,提交了基本文件,将linux稳定树作为远程文件添加,并尝试将其与“git merge linux stable/linux-3.0.y”合并。在答复中,我被告知: 错误:合并将覆盖未跟踪的工作树文件“Documentation/DocBook/dvb/dvbstb.pdf”。流产 它是.gitignore中的一个文件。如果我git添加-f该文件,它只会在.giti

我想在这里弄清楚。尝试将最新的Linux3.0更改3.0.41合并到一个基于HTCSource3.0.8的内核项目中。我下载了源代码,提交了基本文件,将linux稳定树作为远程文件添加,并尝试将其与“git merge linux stable/linux-3.0.y”合并。在答复中,我被告知:

错误:合并将覆盖未跟踪的工作树文件“Documentation/DocBook/dvb/dvbstb.pdf”。流产


它是.gitignore中的一个文件。如果我git添加-f该文件,它只会在.gitignore中的下一个文件中出错。有没有一种方法可以让我在没有这些错误的情况下干净地合并这些文件?我不想一个提交一个提交,因为要合并的提交会有数千个。

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

无论如何,如果无法获得完整的历史记录,那么您的树将没有公共根,因此您需要咨询


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

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

无论如何,如果无法获得完整的历史记录,那么您的树将没有公共根,因此您需要咨询


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

在将文件添加到.gitignore之后,是否运行了git rm-cached?源代码实际上附带了一个.gitignore。gitrm-cached只会显示一些标志。你的意思是吉特rm-缓存?文件本身。此处的详细信息:@Christopher出于某种原因,源中的每个目录都有一个.gitignore。不止一个。有30多个.gitignore文件。一定有更简单的办法。如果我删除了所有的.gitignore文件,就会出现合并冲突。您的项目是公共回购吗?如果是的话,查看一下它会很有用。在您将文件添加到.gitignore之后,您是否运行了git rm-cached?源代码实际上附带了一个.gitignore。gitrm-cached只会显示一些标志。你的意思是吉特rm-缓存?文件本身。此处的详细信息:@Christopher出于某种原因,源中的每个目录都有一个.gitignore。不止一个。有30多个.gitignore文件。一定有更简单的办法。如果我删除了所有的.gitignore文件,就会出现合并冲突。您的项目是公共回购吗?如果是的话,看看会很有用。