From patchwork Tue Sep 20 15:49:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= X-Patchwork-Id: 12982396 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39243C54EE9 for ; Tue, 20 Sep 2022 15:50:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231226AbiITPuL (ORCPT ); Tue, 20 Sep 2022 11:50:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230253AbiITPuA (ORCPT ); Tue, 20 Sep 2022 11:50:00 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 940203DBE8 for ; Tue, 20 Sep 2022 08:49:59 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id q35-20020a17090a752600b002038d8a68fbso7227962pjk.0 for ; Tue, 20 Sep 2022 08:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=nXysgNlNcBOCIHOuekj3dPtTooffc+8050pI04x5D7U=; b=nUsUosbh2VLnCB6iCOCdvPhpPQ2P9iKf+Zwa+I3+vnZ6jh9IiRo2u3Z4Iz6UaLr0JW e/LltA8w6dBiuz4MTIzu0fR1BO+f6z1zedRUfoWHiPcDi2VQGbsUP5N9uNj/EgoG5uLS Yvg19b/TC68qecNK5u3yYC5+ZntWhXEZYgdeqiaGQT9VEiPOxXjSLNcQ9lsF1Cd05UT4 K4glg26UieMXqJ6Cvyl5mj9KPdRijR2oqCn7v1IPO4odadfndC+/1mNPTLZStQGfvyiD goGlR180SXz1rM4pj003gGLiJ7MKZzMSaPn87pyNS44EsOEGHBxb6yQztPhEKwBblfYK BQPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=nXysgNlNcBOCIHOuekj3dPtTooffc+8050pI04x5D7U=; b=Fjn448CvcOrBpgIcBAzPEtoVyyedR3UOQBzny8faXS+5h/Atwb65OrH6oWBLLXI4XZ iHTUlCbAMHPltxqZ98aRlkcD9TfdwT2iGIDXsX46G+GpE3Uo/PjMUhEB6uR6hG3xib9c tFXx8MjLHVIpSel4/3mX15PZ0M1ehOrNdWEGf2nHmrTIRWMyWEsSj3H+qbucOHFUdSSC Q+HKA5boM5zHcylHUFs4bfX+EpyIVrsixtxlwX/EdLo3dn88WDtTitgE9onvRauCp2bi GBRxbXdmn4OQjOHYR9P3ZbPOKsMAcSS9gKe63wk7r9+H072/+KpMxwwb9KC3SezEYqmI cALw== X-Gm-Message-State: ACrzQf1no8uIltTDti+wkKTrDYRirym8X/KWbDvzg0kwiEzvwe0/1FJW owlWd7THebC4Zmi8qjqhbxPlbrhkMe4= X-Google-Smtp-Source: AMsMyM6ql74Tf9Xyu22vggwjj8AKVxpY/bBhl2Xv6X7Q8jXFQL5xUOw0Z/X38YoItUAedatj9SBRfA== X-Received: by 2002:a17:90a:be0a:b0:200:5dda:910a with SMTP id a10-20020a17090abe0a00b002005dda910amr4721336pjs.114.1663688998782; Tue, 20 Sep 2022 08:49:58 -0700 (PDT) Received: from localhost.localdomain ([113.172.46.62]) by smtp.gmail.com with ESMTPSA id 67-20020a621946000000b005379c1368e4sm26013pfz.179.2022.09.20.08.49.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 08:49:57 -0700 (PDT) From: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= To: git@vger.kernel.org Cc: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= Subject: [PATCH 1/4] CodingGuidelines: allow grep -E Date: Tue, 20 Sep 2022 22:49:13 +0700 Message-Id: <4ad1ac9d9b25f2fc5a2ada28cae0413c04b07e21.1663688697.git.congdanhqx@gmail.com> X-Mailer: git-send-email 2.38.0.rc0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Despite forbidden by CodingGuidelines, our usage of 'grep -E' has been increased over the years, and noone has come and complained. Let's lift the restriction. Signed-off-by: Đoàn Trần Công Danh --- Documentation/CodingGuidelines | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 9fca21cc5f..cb7a367ea0 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -162,8 +162,6 @@ For shell scripts specifically (not exhaustive): - We do not use \{m,n\}; - - We do not use -E; - - We do not use ? or + (which are \{0,1\} and \{1,\} respectively in BRE) but that goes without saying as these are ERE elements not BRE (note that \? and \+ are not even part From patchwork Tue Sep 20 15:49:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= X-Patchwork-Id: 12982397 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25ED0C54EE9 for ; Tue, 20 Sep 2022 15:50:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231298AbiITPuN (ORCPT ); Tue, 20 Sep 2022 11:50:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230350AbiITPuJ (ORCPT ); Tue, 20 Sep 2022 11:50:09 -0400 Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20D233ED7A for ; Tue, 20 Sep 2022 08:50:02 -0700 (PDT) Received: by mail-pg1-x52b.google.com with SMTP id q9so3039895pgq.8 for ; Tue, 20 Sep 2022 08:50:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=HBUurL1+ECAtmbY3wKb1F9YiJvOFCI1dWNdIGhSaoNQ=; b=gaqsLaWPaLF8Bqht6wvh5zCa28jAJ1toFXEeb+nFQZZrfgA4REtnMtfQSOVYa0StV2 6FE8+WhakpbC1mhXtnk4XgYXrmffqDg5nmGOEhE7HIb29qccYhoix5ooNjQRdQSEzP8v vaqxu+c5mv46OGl32ISzz/gIX+6YVaBKnGFkaNE2lggaVDKFVBmXY4CvV9DnFkgThgI0 3GpRDmehky0ayXqbqEtsGoNq8Drb9jzKZxSKwypEP8kA5jdt+ZxFC7KtXA8wphhudZJ+ zL+VC2nl1kPXkycv5Inzh/K1QWMMMFFnvLz/zldubFrfQIjHC2B3tyDvBTy1LkeA0a9G Psrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=HBUurL1+ECAtmbY3wKb1F9YiJvOFCI1dWNdIGhSaoNQ=; b=Syl2QKwBEe0wTwQbP6/16zydP00UET4kpBfw3pSliyzF19Pv6b2ddH8QUMllpr3E31 fw1nu7HF8vSvddXMTFtVIRWfKpYXRyDU2V1kQVJfFW7IANh1sDg9M8YNdE0RP2EVsosD 0w2a5/FoHuF5d6TvxuwB+qQ4SkQZQ26bDQNAQfYSb34ehjrfpWyETzTcDbaqA5detb6d GSDI8+UCEYjWFUBu3gjOXxlZoj6iWvZMKxfOlobg8cw6WhiHd+E1JxanT/hKzU/sIrte vuksh/TMS6KV7KcXbkTEVOgM73+lmDgZS6xMx9EYP59tFBwVFrSSgYkQiEr6ltKindbL MXpA== X-Gm-Message-State: ACrzQf0dM3fqHCFUarMKwIJj9KjeDjoJraYZnpTtSdRHzNuL2PGvXUN8 wAwO1YXEBRQoi3OsoN2Bse5che5JbNE= X-Google-Smtp-Source: AMsMyM4Ta6CkaAabrymy9Xl9nkZGV+Vub9chFLxP61WdoQb+woLINAWP5OwtJtKzKFkX3jKtCIbPFw== X-Received: by 2002:a05:6a00:1596:b0:540:f547:8509 with SMTP id u22-20020a056a00159600b00540f5478509mr25295376pfk.80.1663689001107; Tue, 20 Sep 2022 08:50:01 -0700 (PDT) Received: from localhost.localdomain ([113.172.46.62]) by smtp.gmail.com with ESMTPSA id 67-20020a621946000000b005379c1368e4sm26013pfz.179.2022.09.20.08.49.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 08:50:00 -0700 (PDT) From: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= To: git@vger.kernel.org Cc: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= Subject: [PATCH 2/4] t: remove \{m,n\} from BRE grep usage Date: Tue, 20 Sep 2022 22:49:14 +0700 Message-Id: <752b12ef1e27d3b69d6aa3734309895082be7886.1663688697.git.congdanhqx@gmail.com> X-Mailer: git-send-email 2.38.0.rc0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org \{m,n\} is a GNU extension to BRE, and it's forbidden by our CodingGuidelines. Change to fixed strings or ERE. Signed-off-by: Đoàn Trần Công Danh --- t/t3200-branch.sh | 6 ++++-- t/t3305-notes-fanout.sh | 2 +- t/t3404-rebase-interactive.sh | 6 +++--- t/t5550-http-fetch-dumb.sh | 2 +- t/t5702-protocol-v2.sh | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 9723c2827c..f05ac1fe0b 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -201,8 +201,10 @@ test_expect_success 'git branch -M baz bam should succeed when baz is checked ou test_expect_success 'git branch -M baz bam should add entries to .git/logs/HEAD' ' msg="Branch: renamed refs/heads/baz to refs/heads/bam" && - grep " 0\{40\}.*$msg$" .git/logs/HEAD && - grep "^0\{40\}.*$msg$" .git/logs/HEAD + zero="00000000" && + zero="$zero$zero$zero$zero$zero" && + grep " $zero.*$msg$" .git/logs/HEAD && + grep "^$zero.*$msg$" .git/logs/HEAD ' test_expect_success 'git branch -M should leave orphaned HEAD alone' ' diff --git a/t/t3305-notes-fanout.sh b/t/t3305-notes-fanout.sh index 22ffe5bcb9..aa3bb2e308 100755 --- a/t/t3305-notes-fanout.sh +++ b/t/t3305-notes-fanout.sh @@ -9,7 +9,7 @@ path_has_fanout() { path=$1 && fanout=$2 && after_last_slash=$(($(test_oid hexsz) - $fanout * 2)) && - echo $path | grep -q "^\([0-9a-f]\{2\}/\)\{$fanout\}[0-9a-f]\{$after_last_slash\}$" + echo $path | grep -q -E "^([0-9a-f][0-9a-f]/){$fanout}[0-9a-f]{$after_last_slash}$" } touched_one_note_with_fanout() { diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 688b01e3eb..4f5abb5ad2 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -1244,9 +1244,9 @@ test_expect_success 'short commit ID collide' ' test $colliding_id = "$(git rev-parse HEAD | cut -c 1-4)" && grep "^pick $colliding_id " \ .git/rebase-merge/git-rebase-todo.tmp && - grep "^pick [0-9a-f]\{$hexsz\}" \ + grep -E "^pick [0-9a-f]{$hexsz}" \ .git/rebase-merge/git-rebase-todo && - grep "^pick [0-9a-f]\{$hexsz\}" \ + grep -E "^pick [0-9a-f]{$hexsz}" \ .git/rebase-merge/git-rebase-todo.backup && git rebase --continue ) && @@ -1261,7 +1261,7 @@ test_expect_success 'respect core.abbrev' ' set_cat_todo_editor && test_must_fail git rebase -i HEAD~4 >todo-list ) && - test 4 = $(grep -c "pick [0-9a-f]\{12,\}" todo-list) + test 4 = $(grep -c -E "pick [0-9a-f]{12,}" todo-list) ' test_expect_success 'todo count' ' diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh index d7cf85ffea..8f182a3cbf 100755 --- a/t/t5550-http-fetch-dumb.sh +++ b/t/t5550-http-fetch-dumb.sh @@ -234,7 +234,7 @@ test_expect_success 'http-fetch --packfile' ' --index-pack-arg=--keep \ "$HTTPD_URL"/dumb/repo_pack.git/$p >out && - grep "^keep.[0-9a-f]\{16,\}$" out && + grep -E "^keep.[0-9a-f]{16,}$" out && cut -c6- out >packhash && # Ensure that the expected files are generated diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh index 5d42a355a8..b33cd4afca 100755 --- a/t/t5702-protocol-v2.sh +++ b/t/t5702-protocol-v2.sh @@ -1001,7 +1001,7 @@ test_expect_success 'part of packfile response provided as URI' ' do git verify-pack --object-format=$(test_oid algo) --verbose $idx >out && { - grep "^[0-9a-f]\{16,\} " out || : + grep -E "^[0-9a-f]{16,} " out || : } >out.objectlist && if test_line_count = 1 out.objectlist then From patchwork Tue Sep 20 15:49:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= X-Patchwork-Id: 12982398 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95F21ECAAD8 for ; Tue, 20 Sep 2022 15:50:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231425AbiITPuV (ORCPT ); Tue, 20 Sep 2022 11:50:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231335AbiITPuK (ORCPT ); Tue, 20 Sep 2022 11:50:10 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D588474EB for ; Tue, 20 Sep 2022 08:50:04 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id c24so2814968plo.3 for ; Tue, 20 Sep 2022 08:50:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=dMFWD51ubvbkQajL1AB0Wv6IsyzloFRQT1dqmJXelOY=; b=KjCDzb3+zWBptYTG4mi+XwzoC/JHYggT4CJZW+w2Q68sBVxAAwOC/UpwIrisEm/LzD CfNic2Nz2PLOmqXX0fxNDpg69SJY+4/SYL1mlhgsksLUVy/0ry7cUnj0vlva4nfuaxDc p+G9LSxJBMHfYpqwA29PwvO8Cu61vDCVDREDSVlA9WvuGHdmyTO7vo58TowWEE50JCGr gfn9PZk0hu4kpQgFvMZprkyxuWDSpQGHKy1hhkmeenpBTqgtM9R/HDYltq8Pypxw9Y2e NuCS3LiFq97NuQUHqlUnyhfMrFK+IzHb0GhVRUD0CeCBuR2yQtAHSbJ5MsYhvt1MTWlI qY0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=dMFWD51ubvbkQajL1AB0Wv6IsyzloFRQT1dqmJXelOY=; b=itTZhPH5EXjdkFIaHoWvCEHcM52LveTzPud2GBma/AluZjETCoVBWBLSR5DAUbKKKS sXnx1ZR9VM0u4Larsd0eadexVnQflbjDYQ9uYEpVlN6H9CxZuR/WeUpW9P5V/NvpwFoQ V7y17hPg5IL8i5wkb/dOAtbZrLKP36xmdFekHJ8T/70h535taUMG2B/wuqjQN2k3r1AN 27Qyr/urIeQq6/YTME9BFSDIwmRl2kohxZtJkYzUxZXko5rVUJxAnSciqQnn/ezR9KIN ZRxx8SrBh2ieaBnGeY5ccnhJ6ksUQ0Bwz9WRmhkxI7b3ZKVeZ0eqedKEC1Go1NWkIAeH aN6g== X-Gm-Message-State: ACrzQf3Q2BhCQa3FW4Kq800iI3oKUD3rnSKGX6eO8ykft4r4evZMJ173 USwjdtw8JsqvlkWceB+U5N1mX4Z0NGQ= X-Google-Smtp-Source: AMsMyM4dy1iDViycSYxRRakBUV24D1Nct0g/Ly+gY2nt3eeV3hAbpzK5ChCtgIitCwIuqQOR5+DrnA== X-Received: by 2002:a17:902:ec8a:b0:178:488b:cbc2 with SMTP id x10-20020a170902ec8a00b00178488bcbc2mr344883plg.114.1663689003611; Tue, 20 Sep 2022 08:50:03 -0700 (PDT) Received: from localhost.localdomain ([113.172.46.62]) by smtp.gmail.com with ESMTPSA id 67-20020a621946000000b005379c1368e4sm26013pfz.179.2022.09.20.08.50.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 08:50:02 -0700 (PDT) From: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= To: git@vger.kernel.org Cc: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= Subject: [PATCH 3/4] t: convert egrep usage to "grep -E" Date: Tue, 20 Sep 2022 22:49:15 +0700 Message-Id: <3217fcd8547746ee3c00648fa8eeab8c4b88478c.1663688697.git.congdanhqx@gmail.com> X-Mailer: git-send-email 2.38.0.rc0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Despite POSIX states that: > The old egrep and fgrep commands are likely to be supported for many > years to come as implementation extensions, allowing historical > applications to operate unmodified. GNU grep 3.8 started to warn[1]: > The egrep and fgrep commands, which have been deprecated since > release 2.5.3 (2007), now warn that they are obsolescent and should > be replaced by grep -E and grep -F. Prepare for their removal in the future. [1]: https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00001.html Signed-off-by: Đoàn Trần Công Danh --- t/perf/run | 4 ++-- t/t1304-default-acl.sh | 4 ++-- t/t3702-add-edit.sh | 2 +- t/t4014-format-patch.sh | 8 ++++---- t/t5320-delta-islands.sh | 2 +- t/t7527-builtin-fsmonitor.sh | 18 +++++++++--------- t/t7701-repack-unpack-unreachable.sh | 4 ++-- t/t9001-send-email.sh | 8 ++++---- t/t9814-git-p4-rename.sh | 2 +- t/t9815-git-p4-submit-fail.sh | 4 ++-- t/test-lib-functions.sh | 2 +- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/t/perf/run b/t/perf/run index 33da4d2aba..34115edec3 100755 --- a/t/perf/run +++ b/t/perf/run @@ -232,10 +232,10 @@ then ) elif test -n "$GIT_PERF_SUBSECTION" then - egrep "^$GIT_PERF_SUBSECTION\$" "$TEST_RESULTS_DIR"/run_subsections.names >/dev/null || + grep -E "^$GIT_PERF_SUBSECTION\$" "$TEST_RESULTS_DIR"/run_subsections.names >/dev/null || die "subsection '$GIT_PERF_SUBSECTION' not found in '$GIT_PERF_CONFIG_FILE'" - egrep "^$GIT_PERF_SUBSECTION\$" "$TEST_RESULTS_DIR"/run_subsections.names | while read -r subsec + grep -E "^$GIT_PERF_SUBSECTION\$" "$TEST_RESULTS_DIR"/run_subsections.names | while read -r subsec do ( GIT_PERF_SUBSECTION="$subsec" diff --git a/t/t1304-default-acl.sh b/t/t1304-default-acl.sh index 335d3f3211..c69ae41306 100755 --- a/t/t1304-default-acl.sh +++ b/t/t1304-default-acl.sh @@ -18,7 +18,7 @@ test_expect_success 'checking for a working acl setup' ' if setfacl -m d:m:rwx -m u:root:rwx . && getfacl . | grep user:root:rwx && touch should-have-readable-acl && - getfacl should-have-readable-acl | egrep "mask::?rw-" + getfacl should-have-readable-acl | grep -E "mask::?rw-" then test_set_prereq SETFACL fi @@ -34,7 +34,7 @@ check_perms_and_acl () { getfacl "$1" > actual && grep -q "user:root:rwx" actual && grep -q "user:${LOGNAME}:rwx" actual && - egrep "mask::?r--" actual > /dev/null 2>&1 && + grep -E "mask::?r--" actual > /dev/null 2>&1 && grep -q "group::---" actual || false } diff --git a/t/t3702-add-edit.sh b/t/t3702-add-edit.sh index a1801a8cbd..82bfb2fd2a 100755 --- a/t/t3702-add-edit.sh +++ b/t/t3702-add-edit.sh @@ -100,7 +100,7 @@ EOF echo "#!$SHELL_PATH" >fake-editor.sh cat >> fake-editor.sh <<\EOF -egrep -v '^index' "$1" >orig-patch && +grep -E -v '^index' "$1" >orig-patch && mv -f patch "$1" EOF diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index ad5c029279..de1da4673d 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -1457,7 +1457,7 @@ append_signoff() C=$(git commit-tree HEAD^^{tree} -p HEAD) && git format-patch --stdout --signoff $C^..$C >append_signoff.patch && sed -n -e "1,/^---$/p" append_signoff.patch | - egrep -n "^Subject|Sign|^$" + grep -E -n "^Subject|Sign|^$" } test_expect_success 'signoff: commit with no body' ' @@ -2274,10 +2274,10 @@ test_expect_success 'format-patch --base with --attach' ' test_expect_success 'format-patch --attach cover-letter only is non-multipart' ' test_when_finished "rm -fr patches" && git format-patch -o patches --cover-letter --attach=mimemime --base=HEAD~ -1 && - ! egrep "^--+mimemime" patches/0000*.patch && - egrep "^--+mimemime$" patches/0001*.patch >output && + ! grep -E "^--+mimemime" patches/0000*.patch && + grep -E "^--+mimemime$" patches/0001*.patch >output && test_line_count = 2 output && - egrep "^--+mimemime--$" patches/0001*.patch >output && + grep -E "^--+mimemime--$" patches/0001*.patch >output && test_line_count = 1 output ' diff --git a/t/t5320-delta-islands.sh b/t/t5320-delta-islands.sh index 124d47603d..406363381f 100755 --- a/t/t5320-delta-islands.sh +++ b/t/t5320-delta-islands.sh @@ -134,7 +134,7 @@ test_expect_success 'island core places core objects first' ' repack -adfi && git verify-pack -v .git/objects/pack/*.pack | cut -d" " -f1 | - egrep "$root|$two" >actual && + grep -E "$root|$two" >actual && test_cmp expect actual ' diff --git a/t/t7527-builtin-fsmonitor.sh b/t/t7527-builtin-fsmonitor.sh index 56c0dfffea..1746d30cf6 100755 --- a/t/t7527-builtin-fsmonitor.sh +++ b/t/t7527-builtin-fsmonitor.sh @@ -939,9 +939,9 @@ test_expect_success CASE_INSENSITIVE_FS 'case insensitive+preserving' ' # directories and files that we touched. We may or may not get a # trailing slash on modified directories. # - egrep "^event: abc/?$" ./insensitive.trace && - egrep "^event: abc/def/?$" ./insensitive.trace && - egrep "^event: abc/def/xyz$" ./insensitive.trace + grep -E "^event: abc/?$" ./insensitive.trace && + grep -E "^event: abc/def/?$" ./insensitive.trace && + grep -E "^event: abc/def/xyz$" ./insensitive.trace ' # The variable "unicode_debug" is defined in the following library @@ -983,20 +983,20 @@ test_expect_success !UNICODE_COMPOSITION_SENSITIVE 'Unicode nfc/nfd' ' then # We should have seen NFC event from OS. # We should not have synthesized an NFD event. - egrep "^event: nfc/c_${utf8_nfc}/?$" ./unicode.trace && - egrep -v "^event: nfc/c_${utf8_nfd}/?$" ./unicode.trace + grep -E "^event: nfc/c_${utf8_nfc}/?$" ./unicode.trace && + grep -E -v "^event: nfc/c_${utf8_nfd}/?$" ./unicode.trace else # We should have seen NFD event from OS. # We should have synthesized an NFC event. - egrep "^event: nfc/c_${utf8_nfd}/?$" ./unicode.trace && - egrep "^event: nfc/c_${utf8_nfc}/?$" ./unicode.trace + grep -E "^event: nfc/c_${utf8_nfd}/?$" ./unicode.trace && + grep -E "^event: nfc/c_${utf8_nfc}/?$" ./unicode.trace fi && # We assume UNICODE_NFD_PRESERVED. # We should have seen explicit NFD from OS. # We should have synthesized an NFC event. - egrep "^event: nfd/d_${utf8_nfd}/?$" ./unicode.trace && - egrep "^event: nfd/d_${utf8_nfc}/?$" ./unicode.trace + grep -E "^event: nfd/d_${utf8_nfd}/?$" ./unicode.trace && + grep -E "^event: nfd/d_${utf8_nfc}/?$" ./unicode.trace ' test_done diff --git a/t/t7701-repack-unpack-unreachable.sh b/t/t7701-repack-unpack-unreachable.sh index 937f89ee8c..b7ac4f598a 100755 --- a/t/t7701-repack-unpack-unreachable.sh +++ b/t/t7701-repack-unpack-unreachable.sh @@ -35,7 +35,7 @@ test_expect_success '-A with -d option leaves unreachable objects unpacked' ' git repack -A -d -l && # verify objects are packed in repository test 3 = $(git verify-pack -v -- .git/objects/pack/*.idx | - egrep "^($fsha1|$csha1|$tsha1) " | + grep -E "^($fsha1|$csha1|$tsha1) " | sort | uniq | wc -l) && git show $fsha1 && git show $csha1 && @@ -49,7 +49,7 @@ test_expect_success '-A with -d option leaves unreachable objects unpacked' ' git repack -A -d -l && # verify objects are retained unpacked test 0 = $(git verify-pack -v -- .git/objects/pack/*.idx | - egrep "^($fsha1|$csha1|$tsha1) " | + grep -E "^($fsha1|$csha1|$tsha1) " | sort | uniq | wc -l) && git show $fsha1 && git show $csha1 && diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 01c74b8b07..1130ef21b3 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -1519,7 +1519,7 @@ test_expect_success $PREREQ 'asks about and fixes 8bit encodings' ' grep "do not declare a Content-Transfer-Encoding" stdout && grep email-using-8bit stdout && grep "Which 8bit encoding" stdout && - egrep "Content|MIME" msgtxt1 >actual && + grep -E "Content|MIME" msgtxt1 >actual && test_cmp content-type-decl actual ' @@ -1530,7 +1530,7 @@ test_expect_success $PREREQ 'sendemail.8bitEncoding works' ' git send-email --from=author@example.com --to=nobody@example.com \ --smtp-server="$(pwd)/fake.sendmail" \ email-using-8bit >stdout && - egrep "Content|MIME" msgtxt1 >actual && + grep -E "Content|MIME" msgtxt1 >actual && test_cmp content-type-decl actual ' @@ -1545,7 +1545,7 @@ test_expect_success $PREREQ 'sendemail.8bitEncoding in .git/config overrides --g git send-email --from=author@example.com --to=nobody@example.com \ --smtp-server="$(pwd)/fake.sendmail" \ email-using-8bit >stdout && - egrep "Content|MIME" msgtxt1 >actual && + grep -E "Content|MIME" msgtxt1 >actual && test_cmp content-type-decl actual ' @@ -1557,7 +1557,7 @@ test_expect_success $PREREQ '--8bit-encoding overrides sendemail.8bitEncoding' ' --smtp-server="$(pwd)/fake.sendmail" \ --8bit-encoding=UTF-8 \ email-using-8bit >stdout && - egrep "Content|MIME" msgtxt1 >actual && + grep -E "Content|MIME" msgtxt1 >actual && test_cmp content-type-decl actual ' diff --git a/t/t9814-git-p4-rename.sh b/t/t9814-git-p4-rename.sh index 468767cbf4..2a9838f37f 100755 --- a/t/t9814-git-p4-rename.sh +++ b/t/t9814-git-p4-rename.sh @@ -216,7 +216,7 @@ test_expect_success 'detect copies' ' # variable exists, which allows admins to disable the "p4 move" command. test_lazy_prereq P4D_HAVE_CONFIGURABLE_RUN_MOVE_ALLOW ' p4 configure show run.move.allow >out && - egrep ^run.move.allow: out + grep -E ^run.move.allow: out ' # If move can be disabled, turn it off and test p4 move handling diff --git a/t/t9815-git-p4-submit-fail.sh b/t/t9815-git-p4-submit-fail.sh index 9779dc0d11..0ca9937de6 100755 --- a/t/t9815-git-p4-submit-fail.sh +++ b/t/t9815-git-p4-submit-fail.sh @@ -417,8 +417,8 @@ test_expect_success 'cleanup chmod after submit cancel' ' ! p4 fstat -T action text && test_path_is_file text+x && ! p4 fstat -T action text+x && - ls -l text | egrep ^-r-- && - ls -l text+x | egrep ^-r-x + ls -l text | grep -E ^-r-- && + ls -l text+x | grep -E ^-r-x ) ' diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index c6479f24eb..527a714500 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -897,7 +897,7 @@ test_path_is_symlink () { test_dir_is_empty () { test "$#" -ne 1 && BUG "1 param" test_path_is_dir "$1" && - if test -n "$(ls -a1 "$1" | egrep -v '^\.\.?$')" + if test -n "$(ls -a1 "$1" | grep -E -v '^\.\.?$')" then echo "Directory '$1' is not empty, it contains:" ls -la "$1" From patchwork Tue Sep 20 15:49:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= X-Patchwork-Id: 12982399 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1069CECAAD8 for ; Tue, 20 Sep 2022 15:50:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231480AbiITPuX (ORCPT ); Tue, 20 Sep 2022 11:50:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231343AbiITPuL (ORCPT ); Tue, 20 Sep 2022 11:50:11 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 674E53DF1F for ; Tue, 20 Sep 2022 08:50:07 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id fv3so3574443pjb.0 for ; Tue, 20 Sep 2022 08:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=XqD2gra4AvDRoF0i95hWhwHmO+HI7tT0NJdGXcs/RQE=; b=TgFlPsnN0IPJ0zh5jg7uSADMMVfyyxF8V9K/wKV/n6R/T2z3UZCZMgICTD3e7KGMGR MNuLrGqGB/fVyOahozK4/AqoJ9I0/sAM+IaKc2S30STMtCn61bac7So26/C5hFqaOELu Kp2b/rhD7G0SNXtA5FKxMg/iCNizK9o+4YW/5EwrU5OczDSc+MnK+xVxj/76ERu9LPFt Cztf+LoJOTV+F2I7jbzzdWgXT6d0Izxb/6lVMyxu/WD9AD8WXLxWYtvz3Q3j22b3iGfF eiJPuQXuIwz944TR08u6RzHbB3zGwrVs64lyHpyG9sgnOhOn041lLMozdEkEUSdrUMxH zPbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=XqD2gra4AvDRoF0i95hWhwHmO+HI7tT0NJdGXcs/RQE=; b=zleZeQfktuazBIazUNMNWBCqLWo6Oy3Am4CXN8TRM7dRtzfMh10gg8i6MKSIKJpjmF LJWW1UV9FKBUbp3qgAvY4jXpmygUaMgUsp76kXz+XV2j1pOQMGfx4jdzfMlLNX3D6hK/ wyJMGp5aUtj1DQPziiEutC8uRoeGSuhjRgrucNMNDm832zeQzmTKWhHIO43Pb6L7LY/1 UfTN0ReoHcHh4qM7fdiLWdkTBHKVsJIc+nC8epsnER6S6ZJAH+s7Rirz72RY7wUeZUcR dHsG4lmWrt/JbvovAZ0zLa9hueDvOsCUe8BbzZfJ/9HcXtX5CifH2g+bKd6S/4+Iw6Ah hyVA== X-Gm-Message-State: ACrzQf29NRjE1bsiP3HfQLEk8POswEOuGWqJYYD3ycSGDrBkZa6J3s1K pOjsakeILGxC+Uqh5u6g4Pkicwx5pZ8= X-Google-Smtp-Source: AMsMyM7MkQHDQr/4D3LyGOQmovD5+axysnKWBx6d2JwsH93+ieL/vJXjzPbX4VLDhPrdv6J1lRLhrA== X-Received: by 2002:a17:902:ea11:b0:176:b283:9589 with SMTP id s17-20020a170902ea1100b00176b2839589mr322488plg.65.1663689006277; Tue, 20 Sep 2022 08:50:06 -0700 (PDT) Received: from localhost.localdomain ([113.172.46.62]) by smtp.gmail.com with ESMTPSA id 67-20020a621946000000b005379c1368e4sm26013pfz.179.2022.09.20.08.50.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 08:50:05 -0700 (PDT) From: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= To: git@vger.kernel.org Cc: =?utf-8?b?xJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o?= Subject: [PATCH 4/4] t: convert fgrep usage to "grep -F" Date: Tue, 20 Sep 2022 22:49:16 +0700 Message-Id: <213412d2f747de7e3b3504630cb6fcc1b96c46c7.1663688697.git.congdanhqx@gmail.com> X-Mailer: git-send-email 2.38.0.rc0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Despite POSIX states that: > The old egrep and fgrep commands are likely to be supported for many > years to come as implementation extensions, allowing historical > applications to operate unmodified. GNU grep 3.8 started to warn[1]: > The egrep and fgrep commands, which have been deprecated since > release 2.5.3 (2007), now warn that they are obsolescent and should > be replaced by grep -E and grep -F. Prepare for their removal in the future. [1]: https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00001.html Signed-off-by: Đoàn Trần Công Danh --- t/t3700-add.sh | 2 +- t/t7003-filter-branch.sh | 4 ++-- t/t9133-git-svn-nested-git-repo.sh | 6 +++--- t/t9134-git-svn-ignore-paths.sh | 8 ++++---- t/t9140-git-svn-reset.sh | 4 ++-- t/t9147-git-svn-include-paths.sh | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/t/t3700-add.sh b/t/t3700-add.sh index 8689b48589..51afbd7b24 100755 --- a/t/t3700-add.sh +++ b/t/t3700-add.sh @@ -291,7 +291,7 @@ test_expect_success BSLASHPSPEC "git add 'fo\\[ou\\]bar' ignores foobar" ' git reset --hard && touch fo\[ou\]bar foobar && git add '\''fo\[ou\]bar'\'' && - git ls-files fo\[ou\]bar | fgrep fo\[ou\]bar && + git ls-files fo\[ou\]bar | grep -F fo\[ou\]bar && ! ( git ls-files foobar | grep foobar ) ' diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh index e18a218952..a00cdba049 100755 --- a/t/t7003-filter-branch.sh +++ b/t/t7003-filter-branch.sh @@ -49,7 +49,7 @@ test_expect_success 'result is really identical' ' test_expect_success 'rewrite bare repository identically' ' (git config core.bare true && cd .git && git filter-branch branch > filter-output 2>&1 && - ! fgrep fatal filter-output) + ! grep -F fatal filter-output) ' git config core.bare false test_expect_success 'result is really identical' ' @@ -506,7 +506,7 @@ test_expect_success 'rewrite repository including refs that point at non-commit git tag -a -m "tag to a tree" treetag $new_tree && git reset --hard HEAD && git filter-branch -f -- --all >filter-output 2>&1 && - ! fgrep fatal filter-output + ! grep -F fatal filter-output ' test_expect_success 'filter-branch handles ref deletion' ' diff --git a/t/t9133-git-svn-nested-git-repo.sh b/t/t9133-git-svn-nested-git-repo.sh index f894860867..d8d536269c 100755 --- a/t/t9133-git-svn-nested-git-repo.sh +++ b/t/t9133-git-svn-nested-git-repo.sh @@ -35,7 +35,7 @@ test_expect_success 'SVN-side change outside of .git' ' echo b >> a && svn_cmd commit -m "SVN-side change outside of .git" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change outside of .git" + svn_cmd log -v | grep -F "SVN-side change outside of .git" ) ' @@ -59,7 +59,7 @@ test_expect_success 'SVN-side change inside of .git' ' svn_cmd add --force .git && svn_cmd commit -m "SVN-side change inside of .git" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change inside of .git" + svn_cmd log -v | grep -F "SVN-side change inside of .git" ) ' @@ -82,7 +82,7 @@ test_expect_success 'SVN-side change in and out of .git' ' git commit -m "add a inside an SVN repo" && svn_cmd commit -m "SVN-side change in and out of .git" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change in and out of .git" + svn_cmd log -v | grep -F "SVN-side change in and out of .git" ) ' diff --git a/t/t9134-git-svn-ignore-paths.sh b/t/t9134-git-svn-ignore-paths.sh index 4a77eb9f60..21b5d285d5 100755 --- a/t/t9134-git-svn-ignore-paths.sh +++ b/t/t9134-git-svn-ignore-paths.sh @@ -43,7 +43,7 @@ test_expect_success 'init+fetch an SVN repository with ignored www directory' ' test_expect_success 'verify ignore-paths config saved by clone' ' ( cd g && - git config --get svn-remote.svn.ignore-paths | fgrep "www" + git config --get svn-remote.svn.ignore-paths | grep -F "www" ) ' @@ -53,7 +53,7 @@ test_expect_success 'SVN-side change outside of www' ' echo b >> qqq/test_qqq.txt && svn_cmd commit -m "SVN-side change outside of www" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change outside of www" + svn_cmd log -v | grep -F "SVN-side change outside of www" ) ' @@ -85,7 +85,7 @@ test_expect_success 'SVN-side change inside of ignored www' ' echo zaq >> www/test_www.txt && svn_cmd commit -m "SVN-side change inside of www/test_www.txt" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change inside of www/test_www.txt" + svn_cmd log -v | grep -F "SVN-side change inside of www/test_www.txt" ) ' @@ -118,7 +118,7 @@ test_expect_success 'SVN-side change in and out of ignored www' ' echo ygg >> qqq/test_qqq.txt && svn_cmd commit -m "SVN-side change in and out of ignored www" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change in and out of ignored www" + svn_cmd log -v | grep -F "SVN-side change in and out of ignored www" ) ' diff --git a/t/t9140-git-svn-reset.sh b/t/t9140-git-svn-reset.sh index e855904629..b3c9425d55 100755 --- a/t/t9140-git-svn-reset.sh +++ b/t/t9140-git-svn-reset.sh @@ -43,7 +43,7 @@ test_expect_success 'fetch fails on modified hidden file' ' git svn find-rev refs/remotes/git-svn > ../expect && test_must_fail git svn fetch 2> ../errors && git svn find-rev refs/remotes/git-svn > ../expect2 ) && - fgrep "not found in commit" errors && + grep -F "not found in commit" errors && test_cmp expect expect2 ' @@ -59,7 +59,7 @@ test_expect_success 'refetch succeeds not ignoring any files' ' ( cd g && git svn fetch && git svn rebase && - fgrep "mod hidden" hid/hid.txt + grep -F "mod hidden" hid/hid.txt ) ' diff --git a/t/t9147-git-svn-include-paths.sh b/t/t9147-git-svn-include-paths.sh index 257fc8f2f8..e53bfc02f6 100755 --- a/t/t9147-git-svn-include-paths.sh +++ b/t/t9147-git-svn-include-paths.sh @@ -45,7 +45,7 @@ test_expect_success 'init+fetch an SVN repository with included qqq directory' ' test_expect_success 'verify include-paths config saved by clone' ' ( cd g && - git config --get svn-remote.svn.include-paths | fgrep "qqq" + git config --get svn-remote.svn.include-paths | grep -F "qqq" ) ' @@ -55,7 +55,7 @@ test_expect_success 'SVN-side change outside of www' ' echo b >> qqq/test_qqq.txt && svn_cmd commit -m "SVN-side change outside of www" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change outside of www" + svn_cmd log -v | grep -F "SVN-side change outside of www" ) ' @@ -87,7 +87,7 @@ test_expect_success 'SVN-side change inside of ignored www' ' echo zaq >> www/test_www.txt && svn_cmd commit -m "SVN-side change inside of www/test_www.txt" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change inside of www/test_www.txt" + svn_cmd log -v | grep -F "SVN-side change inside of www/test_www.txt" ) ' @@ -120,7 +120,7 @@ test_expect_success 'SVN-side change in and out of included qqq' ' echo ygg >> qqq/test_qqq.txt && svn_cmd commit -m "SVN-side change in and out of ignored www" && svn_cmd up && - svn_cmd log -v | fgrep "SVN-side change in and out of ignored www" + svn_cmd log -v | grep -F "SVN-side change in and out of ignored www" ) '