2017-07-19 22 views
0

我有一個非常大的修補程序,我想從中刪除相對於某個路徑的所有區段。 例如,請考慮下面的補丁:從修補程序中刪除相對於特定路徑的區段

diff -ru a/foo/1.txt b/foo/1.txt 
--- a/foo/1.txt 2017-07-19 11:26:26.603140163 +0200 
+++ b/foo/1.txt 2017-07-19 11:27:15.499145952 +0200 
@@ -1 +1 @@ 
-1111 
+11111 
diff -ru a/foo/bar/3.txt b/foo/bar/3.txt 
--- a/foo/bar/3.txt 2017-07-19 11:26:51.771143040 +0200 
+++ b/foo/bar/3.txt 2017-07-19 11:27:23.419146966 +0200 
@@ -1 +1 @@ 
-3333 
+33333 
diff -ru a/foo/bar/test/4.txt b/foo/bar/test/4.txt 
--- a/foo/bar/test/4.txt 2017-07-19 11:29:38.599167147 +0200 
+++ b/foo/bar/test/4.txt 2017-07-19 11:29:43.655167998 +0200 
@@ -1 +1 @@ 
-4444 
+44444 

我想從補丁刪除所有相對路徑foo/bar的變化,所以它會變成:

diff -ru a/foo/1.txt b/foo/1.txt 
--- a/foo/1.txt 2017-07-19 11:26:26.603140163 +0200 
+++ b/foo/1.txt 2017-07-19 11:27:15.499145952 +0200 
@@ -1 +1 @@ 
-1111 
+11111 

有什麼辦法我可以使用diff,patchquilt或任何其他工具來做到這一點?

回答

0

filterdiff它是最權威的工具!

filterdiff -p1 -x foo/bar/* my.patch

相關問題