Message ID | 20201015072406.4506-1-michal@isc.org (mailing list archive) |
---|---|
Headers | show |
Series | diff: add -I<regex> that ignores matching changes | expand |
Hi Michał, On Thu, 15 Oct 2020, Michał Kępień wrote: > This patch series adds a new diff option that enables ignoring changes > whose all lines (changed, removed, and added) match a given regular > expression. This is similar to the -I/--ignore-matching-lines option in > standalone diff utilities and can be used e.g. to ignore changes which > only affect code comments or to look for unrelated changes in commits > containing a large number of automatically applied modifications (e.g. a > tree-wide string replacement). The difference between -G/-S and the new > -I option is that the latter filters output on a per-change basis. > > Changes from v2: > > - Add a long option for -I (--ignore-matching-lines) as it is > commonplace in standalone diff utilities. Update documentation and > commit log messages accordingly. > > - Use xmalloc() instead of xcalloc() for allocating regex_t > structures in diff_opt_ignore_regex(). > > - Ensure the memory allocated in diff_opt_ignore_regex() gets > released. > > - Use "return error(...)" instead of die() in the -I option callback. > Make the relevant error message localizable. > > - Drastically reduce the number of -I<regex> tests due to excessive > run time of t/t4069-diff-ignore-regex.sh from v1/v2 on some > platforms (notably Windows). Use a tweaked version of a test > suggested by Johannes Schindelin (thanks!). Given its reduction in > size, squash patch 3 (which contained the tests) into patch 2. > > - Replace "see Documentation/diff-options.txt" with "-I<regex>" in the > comments for the added structure fields, in order to make these > comments more useful. Thank you for this diligent work! I looked over the patches and like them a lot! Thanks, Dscho