2013-12-17 39 views
1

我嘗試將f2fs文件系統驅動程序從linux-3.13-rc4移植到運行3.7.10-1的工作站,其中f2fs尚不存在。我首先試着簡單地將fs/f2fs目錄複製到我的工作站上,但不能編譯,因爲一些內部的vfs助手已經在3.7和3.13之間改變了。所以,我嘗試使用帶FS/f2fs的全部提交歷史使用git format-patch或bundle backporting f2fs linux驅動程序

git的格式補丁39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5^FS/f2fs/

,其中提到的提交(「f2fs:添加超級塊和主內存結構」)是提交創建FS/f2fs /目錄下,然後

混帳上午* .patch

這裏,混帳上午沒有成功:一些承諾不適用,或者是因爲他們已經應用(有兩個由git format-patch生成的修補程序中的相同修補程序的副本)或補丁丟失(合併結果)。我想在我的副本中獲取歷史記錄,以便能夠進行雙向切分,然後刪除vfs_helper引起的更改,同時保留後續的修復錯誤。

任何提示?

回答

1

擴大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 

這將創建補丁名爲xx0001.patch到xxnnnn.patch,一個可以適用

git am *.patch