我尝试将f2fs文件系统驱动程序从linux-3.13-rc4移植到运行3.7.10-1的工作站,在那里还不存在f2fs。我首先尝试简单地将fs/f2fs目录复制到我的工作站,但由于一些内部vfs助手在3.7和3.13之间发生了更改,因此无法编译。因此,我尝试使用以下命令获取fs/f2fs的完整git历史
git格式-patch 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5^fs/F2fs/
其中提到的提交("f2fs: add superblock and major in-memory structure")是创建fs/f2fs/目录的提交,然后
git am *.patch
在这里,git am没有成功:一些提交不适用,要么是因为它们已经被应用了(在git format- patch生成的补丁中有相同补丁的两个副本),要么是因为补丁丢失了(合并的结果)。我想要在我的副本中获得历史记录,以便能够bissect,然后删除vfs_helper引起的更改,同时保留后来的bug修复。
有什么提示吗?
发布于 2013-12-18 21:43:40
扩展sun对一个相关问题的回答Git: How to create patches for a merge?,我终于找到了一个解决方案:
git log -p --pretty=email --stat -m --first-parent --reverse \ 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5^..master fs/f2fs/ | \ csplit -b %04d.patch - '/^From .\*$/' '{\*}' rm xx0000.patch
这将为xxnnnn.patch创建名为xx0001.patch的补丁程序,用户可以使用
git am \*.patch
https://stackoverflow.com/questions/20638808
复制相似问题