X-Loop: help-debbugs@HIDDEN Subject: bug#18641: [PATCH] diff: Add --only=REGEX option to parse only files that match REGEX Resent-From: Daniel Hilst Selli <danielhilst@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-diffutils@HIDDEN Resent-Date: Sun, 05 Oct 2014 23:28:01 +0000 Resent-Message-ID: <handler.18641.B.141255162316815 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 18641 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: 18641 <at> debbugs.gnu.org Cc: Daniel Hilst Selli <danielhilst@HIDDEN> X-Debbugs-Original-To: bug-diffutils@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.141255162316815 (code B ref -1); Sun, 05 Oct 2014 23:28:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Oct 2014 23:27:03 +0000 Received: from localhost ([127.0.0.1]:35098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1XavCg-0004N8-Bt for submit <at> debbugs.gnu.org; Sun, 05 Oct 2014 19:27:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50319) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <danielhilst@HIDDEN>) id 1XauuX-0003tn-92 for submit <at> debbugs.gnu.org; Sun, 05 Oct 2014 19:08:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <danielhilst@HIDDEN>) id 1XauuN-0000DI-U7 for submit <at> debbugs.gnu.org; Sun, 05 Oct 2014 19:08:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_50,DATE_IN_PAST_03_06, FREEMAIL_FROM,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <danielhilst@HIDDEN>) id 1XauuN-0000DE-Q7 for submit <at> debbugs.gnu.org; Sun, 05 Oct 2014 19:08:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51957) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <danielhilst@HIDDEN>) id 1XauuE-0007sL-Mu for bug-diffutils@HIDDEN; Sun, 05 Oct 2014 19:08:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <danielhilst@HIDDEN>) id 1Xauu5-00006q-JI for bug-diffutils@HIDDEN; Sun, 05 Oct 2014 19:07:58 -0400 Received: from mail-qg0-x22f.google.com ([2607:f8b0:400d:c04::22f]:53147) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <danielhilst@HIDDEN>) id 1Xauu5-00006Y-90 for bug-diffutils@HIDDEN; Sun, 05 Oct 2014 19:07:49 -0400 Received: by mail-qg0-f47.google.com with SMTP id i50so3041178qgf.34 for <bug-diffutils@HIDDEN>; Sun, 05 Oct 2014 16:07:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=gjyTfL+tGGI5mX6pnQ1O21hlNq/7Y9b0pEAKrqsAuds=; b=ZJgcVff7LXijobwGqcRZKjCypwONqwkxpR3xkG/KBeh8I9oKqmjyd8PZwQp+ytkMN/ V+MfoQIMmDLJE5iJwAABDVjS6c/5WeB3pdJpJbuAMFOoAtCX3yZweopJGbEw4hQjUy3Q fc5sW9PTmQbTDbiN2rUzKPP8wLvkMvvQ62nCCM3e5caiCfIeA4xHe+8cktKV7IAlAWMI AU42RLLgYVmn7VMIs46K1HBljqzSA5ZvgNBNaD4hPzQUDTT9wqzxxVa3JeIJ61yq1qqj GGQW7Qnb3mSx96OFEsB8gQ7OOUy1mujl4I+VnygPWyPWkXsiBHQJcty5Dk37PSeQp0R9 a34g== X-Received: by 10.224.32.138 with SMTP id c10mr26533307qad.1.1412550467997; Sun, 05 Oct 2014 16:07:47 -0700 (PDT) Received: from localhost.localdomain ([189.102.8.179]) by mx.google.com with ESMTPSA id g5sm11287755qaz.39.2014.10.05.16.07.46 for <multiple recipients> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 05 Oct 2014 16:07:47 -0700 (PDT) From: Daniel Hilst Selli <danielhilst@HIDDEN> Date: Sun, 5 Oct 2014 20:05:37 +0000 Message-Id: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> X-Mailer: git-send-email 2.1.2 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.9 (--) X-Mailman-Approved-At: Sun, 05 Oct 2014 19:27:00 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.9 (--) I run to this problem some time ago. I need to parse to trees, but only the source files (*.[hcS]). I see some find solutions, but that don't work for me since I have new files created on modified tree. Best solution would be patch diff. So here I am. This patches add a new option (--only=REGEX) that parse only files that match such regexp. Multiple regexps can be used and they will be OR'ed. Also, --exclude is processed before --only, so will can still exclude files before they match REGEX. This commit don't update man pages and info docs, I looking for it. Cheers, >8---------------------8< * src/diff.h: XTERN only_regexp added. * src/diff.c: global only_regexp_list, and ONLY_OPTION added. "only-that-matches" element added to longopts. Help string added to global option_help_msgid array. * src/diff.c: (main) only_regexp_list.buf initalized. ONLY_OPITON processed on options loop * src/dir.c: (dir_read) Added an `if' to process --only option. Was added after --exclude processing. This way user can exclude files that still match --only REGEX. --- src/diff.c | 12 ++++++++++++ src/diff.h | 3 +++ src/dir.c | 10 ++++++++++ 3 files changed, 25 insertions(+) diff --git a/src/diff.c b/src/diff.c index 397815e..003eb59 100644 --- a/src/diff.c +++ b/src/diff.c @@ -84,6 +84,9 @@ static struct regexp_list function_regexp_list; /* Ignore changes affecting only lines that match these regexps. */ static struct regexp_list ignore_regexp_list; +/* Parse only files that match this regexp. */ +static struct regexp_list only_regexp_list; + #if O_BINARY /* Use binary I/O when reading and writing data (--binary). On POSIX hosts, this has no effect. */ @@ -126,6 +129,7 @@ enum SUPPRESS_COMMON_LINES_OPTION, TABSIZE_OPTION, TO_FILE_OPTION, + ONLY_OPTION, /* These options must be in sequence. */ UNCHANGED_LINE_FORMAT_OPTION, @@ -191,6 +195,7 @@ static struct option const longopts[] = {"normal", 0, 0, NORMAL_OPTION}, {"old-group-format", 1, 0, OLD_GROUP_FORMAT_OPTION}, {"old-line-format", 1, 0, OLD_LINE_FORMAT_OPTION}, + {"only-that-matches", 1, 0, ONLY_OPTION}, {"paginate", 0, 0, 'l'}, {"rcs", 0, 0, 'n'}, {"recursive", 0, 0, 'r'}, @@ -282,6 +287,7 @@ main (int argc, char **argv) c_stack_action (0); function_regexp_list.buf = &function_regexp; ignore_regexp_list.buf = &ignore_regexp; + only_regexp_list.buf = &only_regexp; re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING); excluded = new_exclude (); @@ -609,6 +615,10 @@ main (int argc, char **argv) specify_value (&to_file, optarg, "--to-file"); break; + case ONLY_OPTION: + add_regexp (&only_regexp_list, optarg); + break; + case UNCHANGED_LINE_FORMAT_OPTION: case OLD_LINE_FORMAT_OPTION: case NEW_LINE_FORMAT_OPTION: @@ -696,6 +706,7 @@ main (int argc, char **argv) summarize_regexp_list (&function_regexp_list); summarize_regexp_list (&ignore_regexp_list); + summarize_regexp_list (&only_regexp_list); if (output_style == OUTPUT_IFDEF) { @@ -883,6 +894,7 @@ static char const * const option_help_msgid[] = { N_(" --no-ignore-file-name-case consider case when comparing file names"), N_("-x, --exclude=PAT exclude files that match PAT"), N_("-X, --exclude-from=FILE exclude files that match any pattern in FILE"), + N_(" --only=REGEX only parse files that match REGEX"), N_("-S, --starting-file=FILE start with FILE when comparing directories"), N_(" --from-file=FILE1 compare FILE1 to all operands;\n" " FILE1 can be a directory"), diff --git a/src/diff.h b/src/diff.h index e9f0471..1df36f9 100644 --- a/src/diff.h +++ b/src/diff.h @@ -145,6 +145,9 @@ XTERN char *file_label[2]; /* Regexp to identify function-header lines (-F). */ XTERN struct re_pattern_buffer function_regexp; +/* Parse only file that match this regexp (--only) */ +XTERN struct re_pattern_buffer only_regexp; + /* Ignore changes that affect only lines matching this regexp (-I). */ XTERN struct re_pattern_buffer ignore_regexp; diff --git a/src/dir.c b/src/dir.c index d3b0a2d..5fcd06f 100644 --- a/src/dir.c +++ b/src/dir.c @@ -99,6 +99,16 @@ dir_read (struct file_data const *dir, struct dirdata *dirdata) if (excluded_file_name (excluded, d_name)) continue; + if (only_regexp.fastmap) + { + int only_match = re_search (&only_regexp, d_name, d_size, 0, d_size, NULL); + + if (-1 == only_match) + continue; + else if (-2 == only_match) + fatal("Error while matching --only option"); + } + while (data_alloc < data_used + d_size) { if (PTRDIFF_MAX / 2 <= data_alloc) -- 2.1.2
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Daniel Hilst Selli <danielhilst@HIDDEN> Subject: bug#18641: Acknowledgement ([PATCH] diff: Add --only=REGEX option to parse only files that match REGEX) Message-ID: <handler.18641.B.141255162316815.ack <at> debbugs.gnu.org> References: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> X-Gnu-PR-Message: ack 18641 X-Gnu-PR-Package: diffutils X-Gnu-PR-Keywords: patch Reply-To: 18641 <at> debbugs.gnu.org Date: Sun, 05 Oct 2014 23:28:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-diffutils@HIDDEN If you wish to submit further information on this problem, please send it to 18641 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 18641: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D18641 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#18641: [bug-diffutils] bug#18641: [PATCH] diff: Add --only=REGEX option to parse only files that match REGEX Resent-From: Eric Blake <eblake@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-diffutils@HIDDEN Resent-Date: Mon, 06 Oct 2014 12:46:02 +0000 Resent-Message-ID: <handler.18641.B18641.14125995117054 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 18641 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: Daniel Hilst Selli <danielhilst@HIDDEN>, 18641 <at> debbugs.gnu.org Received: via spool by 18641-submit <at> debbugs.gnu.org id=B18641.14125995117054 (code B ref 18641); Mon, 06 Oct 2014 12:46:02 +0000 Received: (at 18641) by debbugs.gnu.org; 6 Oct 2014 12:45:11 +0000 Received: from localhost ([127.0.0.1]:35320 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Xb7f4-0001pi-D5 for submit <at> debbugs.gnu.org; Mon, 06 Oct 2014 08:45:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16061) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <eblake@HIDDEN>) id 1Xb7f1-0001pY-5n for 18641 <at> debbugs.gnu.org; Mon, 06 Oct 2014 08:45:08 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s96Cj5aj019959 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 6 Oct 2014 08:45:05 -0400 Received: from [10.3.113.126] (ovpn-113-126.phx2.redhat.com [10.3.113.126]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s96Cj4nL015402; Mon, 6 Oct 2014 08:45:04 -0400 Message-ID: <54328ED0.9090403@HIDDEN> Date: Mon, 06 Oct 2014 06:45:04 -0600 From: Eric Blake <eblake@HIDDEN> Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1 MIME-Version: 1.0 References: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> In-Reply-To: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="B9b4KaiK7L8M0Tu9QFX2gX1iJP3UOaV2q" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --B9b4KaiK7L8M0Tu9QFX2gX1iJP3UOaV2q Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 10/05/2014 02:05 PM, Daniel Hilst Selli wrote: > I run to this problem some time ago. I need to parse to trees, but > only the source files (*.[hcS]). I see some find solutions, but that > don't work for me since I have new files created on modified > tree. Best solution would be patch diff. So here I am. This feels like feature bloat. What's wrong with using 'find' to locate the subset of files you are interested in, then running diff on those fil= es? --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --B9b4KaiK7L8M0Tu9QFX2gX1iJP3UOaV2q Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg iQEcBAEBCAAGBQJUMo7QAAoJEKeha0olJ0NqvkEH/3yPMrIx5vCoAYj6mAnnuKBh Wwpq7OkCUzKV6jHLNgcXbPJnx2YHAoMMJfFGTW0Cb+fqUSvthn3H2v3ZDvARn7rI P8cEtGTIudRRXFldakfymirDw5zu00dKIVqx+/l2nUp9ChKyANNd/6ht0kBVBFrT Pvfg94HuIN+CKaxuZWInz4ew9x5rHmLc9afL4w3ykw3VXQ4gZDH8AFoqzk4ov+At cIk3IsNpMKpnGn758lIdhJ0ulwfm0DwTXt5I1D1owU5f4H2+q/wBBqdfLt6YAnYV RKAcs0gJ5XmhkrfEkQ1ZOMW67BuhCtEm79oNkexXygoZ0+cGDZ3aPov1ph2Wvck= =Rf8z -----END PGP SIGNATURE----- --B9b4KaiK7L8M0Tu9QFX2gX1iJP3UOaV2q--
X-Loop: help-debbugs@HIDDEN Subject: bug#18641: [bug-diffutils] bug#18641: bug#18641: [PATCH] diff: Add --only=REGEX option to parse only files that match REGEX Resent-From: Andreas =?UTF-8?Q?Gr=C3=BCnbacher?= <agruen@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-diffutils@HIDDEN Resent-Date: Mon, 06 Oct 2014 14:16:01 +0000 Resent-Message-ID: <handler.18641.B18641.141260494115498 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 18641 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: Eric Blake <eblake@HIDDEN> Cc: Daniel Hilst Selli <danielhilst@HIDDEN>, 18641 <at> debbugs.gnu.org Received: via spool by 18641-submit <at> debbugs.gnu.org id=B18641.141260494115498 (code B ref 18641); Mon, 06 Oct 2014 14:16:01 +0000 Received: (at 18641) by debbugs.gnu.org; 6 Oct 2014 14:15:41 +0000 Received: from localhost ([127.0.0.1]:35862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Xb94d-00041s-AC for submit <at> debbugs.gnu.org; Mon, 06 Oct 2014 10:15:40 -0400 Received: from mail-ob0-f180.google.com ([209.85.214.180]:59637) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <andreas.gruenbacher@HIDDEN>) id 1Xb94a-00041h-9h for 18641 <at> debbugs.gnu.org; Mon, 06 Oct 2014 10:15:36 -0400 Received: by mail-ob0-f180.google.com with SMTP id va2so3894246obc.39 for <18641 <at> debbugs.gnu.org>; Mon, 06 Oct 2014 07:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=wbNTUVqu5YMLpShyWibGpEfZ81DTm8wFZ9+cHkfyrK0=; b=Irz3ElwN5vBSPl3uTRPU/y8V47HwofKESOqg5xUZ2uBq7/4ma553mCaMsgNpyK5LNA GqBgA1EaqtzBSLsAS2JNwTg7t9kyFKUFcGlRVHJqoNnlQLM/iqNP29dGCtQhwYJ5Lo+V hWCchsiBWSVLYkYHFz6x2Qqqwxew8WlrsQzXxS2/tYGbkvSAmmEvUWso0R/7wW30TegG 9Xet3t6KCMGT5GDVmyIov0LVDhYvJu5jYv47yC38n50ni1Ka64JaNaDpbnjqreP/1yGm sm+UiG/bIAy7SzgcxVBfjI1Fbmqg9OYrTjIhllct1KaCQqyajqUimF9xl+dJI0jy523y Lb4Q== MIME-Version: 1.0 X-Received: by 10.60.245.101 with SMTP id xn5mr28196445oec.27.1412604935514; Mon, 06 Oct 2014 07:15:35 -0700 (PDT) Received: by 10.182.87.104 with HTTP; Mon, 6 Oct 2014 07:15:35 -0700 (PDT) In-Reply-To: <54328ED0.9090403@HIDDEN> References: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> <54328ED0.9090403@HIDDEN> Date: Mon, 6 Oct 2014 16:15:35 +0200 X-Google-Sender-Auth: EcR6OIkq5SFuj2gD8R8zcnKO6F4 Message-ID: <CAHpGcM+FPeuGZrBMHJFasSvNPNsPh_X_L075+uems6WfaKa3Pg@HIDDEN> From: Andreas =?UTF-8?Q?Gr=C3=BCnbacher?= <agruen@HIDDEN> Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) 2014-10-06 14:45 GMT+02:00 Eric Blake <eblake@HIDDEN>: > This feels like feature bloat. What's wrong with using 'find' to locate > the subset of files you are interested in, then running diff on those files? It's a bit messy to work around with find: find a/ b/ -type f -printf "%P\0" | sort -zu | xargs -0 -n1 -i% diff -Nu a/% b/% Daniel's proposed feature makes this easier and more efficient (as diff won't be invoked for each file), so it looks good to me. Thanks, Andreas
X-Loop: help-debbugs@HIDDEN Subject: bug#18641: [bug-diffutils] bug#18641: [PATCH] diff: Add --only=REGEX option to parse only files that match REGEX Resent-From: Daniel Hilst Selli <danielhilst@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-diffutils@HIDDEN Resent-Date: Mon, 06 Oct 2014 16:35:03 +0000 Resent-Message-ID: <handler.18641.B18641.141261325628993 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 18641 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: 18641 <at> debbugs.gnu.org Received: via spool by 18641-submit <at> debbugs.gnu.org id=B18641.141261325628993 (code B ref 18641); Mon, 06 Oct 2014 16:35:03 +0000 Received: (at 18641) by debbugs.gnu.org; 6 Oct 2014 16:34:16 +0000 Received: from localhost ([127.0.0.1]:35952 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1XbBEl-0007XY-82 for submit <at> debbugs.gnu.org; Mon, 06 Oct 2014 12:34:15 -0400 Received: from mail-qg0-f47.google.com ([209.85.192.47]:47333) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <danielhilst@HIDDEN>) id 1XbBEj-0007XQ-Kt for 18641 <at> debbugs.gnu.org; Mon, 06 Oct 2014 12:34:14 -0400 Received: by mail-qg0-f47.google.com with SMTP id i50so3974802qgf.34 for <18641 <at> debbugs.gnu.org>; Mon, 06 Oct 2014 09:34:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=3UmCS1q8Lr24stDvQfqSIap06y1rSzilpbhKXu5Mk1k=; b=p1novMPy4IfGdIrkcDa7lT5L2WWKU2L5PoZ9ilc8Yi5sHK53lCU/RMREpwYcL60Xb0 nt8A69FKRv0TKPGAqbe5qn2Agw79tSJTPSkzmsp2SN3LOeBSuMczIGtbZHpZ3321vd3o K3np82ojIMOeAykeLXRolIgJNYOkc8n4WyWvkjh5nSW4vxA5uGwKdsOVK8xglXAGvZuO M4JJv04aDRL/Xb/kQ9f+QUuZrbaqDbvAnUDjd1Cl0q/s3LlFvYwvA5ygzJdhcdgqC3yD PYt5kRHMjmXmeIL9lV0cgfkgaZ1pu7t0aHkI+Y/jcb0J3NWqDHb3Ef2b2KQdqYx/1Iru hqKw== X-Received: by 10.140.90.42 with SMTP id w39mr10926154qgd.88.1412613252989; Mon, 06 Oct 2014 09:34:12 -0700 (PDT) Received: from [155.1.1.163] ([187.11.221.17]) by mx.google.com with ESMTPSA id l2sm1993829qao.34.2014.10.06.09.34.11 for <18641 <at> debbugs.gnu.org> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Oct 2014 09:34:12 -0700 (PDT) Message-ID: <5432C455.90307@HIDDEN> Date: Mon, 06 Oct 2014 13:33:25 -0300 From: Daniel Hilst Selli <danielhilst@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 References: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> <54328ED0.9090403@HIDDEN> In-Reply-To: <54328ED0.9090403@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) On 10/06/2014 09:45 AM, Eric Blake wrote: > On 10/05/2014 02:05 PM, Daniel Hilst Selli wrote: >> I run to this problem some time ago. I need to parse to trees, but >> only the source files (*.[hcS]). I see some find solutions, but that >> don't work for me since I have new files created on modified >> tree. Best solution would be patch diff. So here I am. > This feels like feature bloat. What's wrong with using 'find' to locate > the subset of files you are interested in, then running diff on those files? > I would need to find every file that, exist on one tree and not on another. This mean getting a list of files on two trees and comparing, what is complex, error prone and slower.
X-Loop: help-debbugs@HIDDEN Subject: bug#18641: [bug-diffutils] bug#18641: bug#18641: [PATCH] diff: Add --only=REGEX option to parse only files that match REGEX Resent-From: Daniel Hilst Selli <danielhilst@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-diffutils@HIDDEN Resent-Date: Mon, 06 Oct 2014 17:07:01 +0000 Resent-Message-ID: <handler.18641.B18641.141261518432173 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 18641 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: 18641 <at> debbugs.gnu.org Cc: Andreas =?UTF-8?Q?Gr=C3=BCnbacher?= <agruen@HIDDEN> Received: via spool by 18641-submit <at> debbugs.gnu.org id=B18641.141261518432173 (code B ref 18641); Mon, 06 Oct 2014 17:07:01 +0000 Received: (at 18641) by debbugs.gnu.org; 6 Oct 2014 17:06:24 +0000 Received: from localhost ([127.0.0.1]:35964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1XbBjr-0008Mr-Pt for submit <at> debbugs.gnu.org; Mon, 06 Oct 2014 13:06:24 -0400 Received: from mail-qa0-f46.google.com ([209.85.216.46]:50746) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <danielhilst@HIDDEN>) id 1XbBjq-0008Mj-BI for 18641 <at> debbugs.gnu.org; Mon, 06 Oct 2014 13:06:22 -0400 Received: by mail-qa0-f46.google.com with SMTP id w8so3781403qac.33 for <18641 <at> debbugs.gnu.org>; Mon, 06 Oct 2014 10:06:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=e/W1WtfkttejBmU8A5re8KkLdItHqcy7fgnoJxV/4ck=; b=ki+MPGw/2vSitsDsVcyDlwsVyLEw4VHptklbGSAwBemWhcyOkFOD2iAD4FEtvTegKQ aRsVsI3enSCL4m1uyr3qr/if3EFxloVvd8cVN0J5/1l4jyFjynztGQ5xKxTUjjnkygPg tJXsdXpmy9+EebXPI/b2XbNjgA7hwnW6XnK5W45oNwv8Ib7v4uaaFEwfALR9XYeN7Q8B 0TEmLxeoaEiiEX8L/1cqDoPqsPta/y/Q/X8LCNX2l/lOfQbjHwdnWSsSmeUbi9KwLc6C WCd1+OB8YhOOyA0eX6C+u1DZgBrZenTU/SCzvwCAyc3lTPOWvET/w4w2nwboXDpso7+o 0Xqg== X-Received: by 10.224.88.137 with SMTP id a9mr12244963qam.88.1412615181761; Mon, 06 Oct 2014 10:06:21 -0700 (PDT) Received: from [155.1.1.163] ([187.11.221.17]) by mx.google.com with ESMTPSA id b1sm13009753qat.9.2014.10.06.10.06.20 for <multiple recipients> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Oct 2014 10:06:21 -0700 (PDT) Message-ID: <5432CBDE.4080605@HIDDEN> Date: Mon, 06 Oct 2014 14:05:34 -0300 From: Daniel Hilst Selli <danielhilst@HIDDEN> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 References: <1412539537-7660-1-git-send-email-danielhilst@HIDDEN> <54328ED0.9090403@HIDDEN> <5432C455.90307@HIDDEN> <CAHpGcMKi7CM5RQfNqwcj=2H6s201Nx2p03qn7ZtVXJ2vYo9CTQ@HIDDEN> In-Reply-To: <CAHpGcMKi7CM5RQfNqwcj=2H6s201Nx2p03qn7ZtVXJ2vYo9CTQ@HIDDEN> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) On 10/06/2014 01:53 PM, Andreas Grünbacher wrote: > 2014-10-06 18:33 GMT+02:00 Daniel Hilst Selli <danielhilst@HIDDEN>: >> I would need to find every file that, exist on one tree and not on >> another. This mean getting a list of files on two trees and comparing, what >> is complex, error prone and slower. > > See my posting from before on how this can be done relatively easily ... > > Andreas > I saw it, its a nice xargs trick, I never thought about sorting find output, I was trying find -exec solutions, this is really nice :-) Regards,
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.