From 3ce135f177c52a8b3479f02fa61362bded538797 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vincent=20Penn=C3=A9?= Date: Wed, 13 Jan 2010 16:19:54 -0500 Subject: [PATCH] [PATCH] make guards functionning again MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Vincent Penné [jeffpc: fix regression test good output] [jeffpc: use grep -F instead of crafting regexps] [jeffpc: fix patches with negative guards never getting pushed] Signed-off-by: Josef 'Jeff' Sipek Larry Gilbert submitted a virtually identical patch! This commit closes bug #161. --- guilt | 6 ++- regression/t-051.out | 123 +++++++++++++++++++++++++++++---------------------- 2 files changed, 73 insertions(+), 56 deletions(-) diff --git a/guilt b/guilt index 44b9fd3..485710b 100755 --- a/guilt +++ b/guilt @@ -204,14 +204,16 @@ get_series() check_guards() { get_guards "$1" | while read guard; do + g=`echo $guard | sed "s/^[+-]//"` case "$guard" in +*) # Push +guard *only if* guard selected - silent grep -e "^$guard\$" "$guards_file" || return 1 + silent grep -F "$g" "$guards_file" || return 1 ;; -*) # Push -guard *unless* guard selected - silent grep -e "^$guard\$" "$guards_file" && return 1 + silent grep -F "$g" "$guards_file" && return 1 + true ;; esac done diff --git a/regression/t-051.out b/regression/t-051.out index 4d49db6..3326878 100644 --- a/regression/t-051.out +++ b/regression/t-051.out @@ -364,6 +364,8 @@ fourth: mode: fifth: % guilt-push -a +Applying patch..first +Patch applied. Applying patch..modify Patch applied. Applying patch..second @@ -389,7 +391,7 @@ f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 4a83e5a312b6e25e333400a5ebdf19a297a7ecfc .git/patches/master/series f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first @@ -397,18 +399,20 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third f f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 .git/patches/master/guards -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-prev mode % guilt-next % guilt-applied +first modify second add @@ -427,7 +431,7 @@ f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 4a83e5a312b6e25e333400a5ebdf19a297a7ecfc .git/patches/master/series f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first @@ -435,14 +439,15 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third f f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 .git/patches/master/guards -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-pop -a All patches popped. % list_files @@ -596,6 +601,8 @@ fourth: mode: fifth: % guilt-push -a +Applying patch..first +Patch applied. Applying patch..modify Patch applied. Applying patch..second @@ -621,25 +628,27 @@ f 03416e9c8dd788d6cb1b318d74ff34f4d6150c44 .git/patches/master/series f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-prev mode % guilt-next % guilt-applied +first modify second add @@ -658,21 +667,22 @@ f 03416e9c8dd788d6cb1b318d74ff34f4d6150c44 .git/patches/master/series f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-pop -a All patches popped. % list_files @@ -814,6 +824,8 @@ fourth: mode: fifth: % guilt-push -a +Applying patch..first +Patch applied. Applying patch..modify Patch applied. Applying patch..second @@ -839,7 +851,7 @@ f 03416e9c8dd788d6cb1b318d74ff34f4d6150c44 .git/patches/master/series f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first @@ -847,18 +859,20 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third f e242ed3bffccdf271b7fbaf34ed72d089537b42f .git/patches/master/guards -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-prev mode % guilt-next % guilt-applied +first modify second add @@ -877,7 +891,7 @@ f 03416e9c8dd788d6cb1b318d74ff34f4d6150c44 .git/patches/master/series f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add -f a63cf5aa65216db69145c28d10535101b44a958a .git/patches/master/status +f a60aaf2a27d522dd432e628418ddea55cd4cbab5 .git/patches/master/status f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fifth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/first @@ -885,14 +899,15 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/fourth f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/second f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/third f e242ed3bffccdf271b7fbaf34ed72d089537b42f .git/patches/master/guards -r 024fabff9d4aac0d1eea8139d3573134f767be6b .git/refs/patches/master/third -r 0d1d059051567b5757b275d994803e2ee2c6f249 .git/refs/patches/master/second -r 33633e7a1aa31972f125878baf7807be57b1672d .git/refs/patches/master/modify -r 42dededcea6ab9f9363e05c3ac46d202c9d24fc0 .git/refs/patches/master/add -r 45f14f27be3602087c2804a3a49b68715498c4ab .git/refs/patches/master/fifth -r 5fe77d7acc8ba70ea6ec7e99ff56ea1ecd31485d .git/refs/patches/master/fourth -r a396f79d32fb896c65a1fe0a21cc7fedfc4bca5d .git/refs/patches/master/mode -r d6f4e09af372958f1b5989dde565f0f16237f741 .git/refs/patches/master/remove +r 1d38670276c004e45fd9b4c53859cd4c035814e3 .git/refs/patches/master/second +r 307b673361204c3d78fc9b0074e077468d4bfd17 .git/refs/patches/master/add +r 43baa39cb58f15194e065d808836857127402d28 .git/refs/patches/master/modify +r 4db486c1851e0ef969f2bf85f7162062365f4b3c .git/refs/patches/master/remove +r 6de179deb212843cbd0dbd7f9258cd5313e3a919 .git/refs/patches/master/fifth +r 765cc1768834e6e0d5b7647945b488002777aa17 .git/refs/patches/master/fourth +r a275c97cdbfa8f77b3326ec9ce8a6ac261ec0b8f .git/refs/patches/master/mode +r b9f029c3ce91252944780ceb518385acfd83380e .git/refs/patches/master/third +r e879a6edd53fd85ed29fff06f11e0ee091dab94e .git/refs/patches/master/first % guilt-pop -a All patches popped. % list_files -- 2.11.4.GIT