2017-07-19 23 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

相关问题