[devel] [PATCH 1/3] Introduce nodiff directive for gear-rules
Alexey Gladkov
legion на altlinux.ru
Чт Ноя 26 17:49:27 MSK 2020
On Thu, Nov 26, 2020 at 05:16:34PM +0300, Vladimir D. Seleznev wrote:
> The directive specifies a glob pattern that define files that should be
> excluded from diff generation.
Мои комментарии относятся только к технической части. Относительно
именования директив и нужности директивы вообще должен Дима высказаться.
Лично мне не нравится, что опция для директивы diff сделана директивой.
Это выглядит хаком. У вас аргумент nodiff не может иметь пробелы. В этом
случае несложно сделать `diff: exclude=glob_pattern`.
> Signed-off-by: Vladimir D. Seleznev <vseleznv на altlinux.org>
> ---
> gear | 24 ++++++++++++++++++------
> gear-rules.5.in | 19 +++++++++++++++++++
> gear-store-tags | 2 +-
> 3 files changed, 38 insertions(+), 7 deletions(-)
>
> diff --git a/gear b/gear
> index 6282c92..b4e8426 100755
> --- a/gear
> +++ b/gear
> @@ -402,13 +402,14 @@ write_git_diff()
> {
> local optional="$1" && shift
> local cmd="$1" && shift
> + local nodiff_patterns="$1" && shift
> local old_tree="$1" && shift
> local old_dir="$1" && shift
> local new_tree="$1" && shift
> local new_dir="$1" && shift
> local name="${1##*/}" && shift
>
> - local old_id new_id
> + local old_id new_id nodiff=
>
> old_id="$(traverse_tree "$old_tree" "$old_dir" "$optional")" ||
> {
> @@ -422,8 +423,13 @@ write_git_diff()
> exit 1
> }
>
> + for pattern in $nodiff_patterns; do
> + [ -n "$pattern" ] ||continue
В остальном коде после '||' всегда ставится пробел если за ним идёт другая
команда.
> + nodiff="$nodiff $(printf ":^%s" "$pattern")"
subshell для подстановки $pattern c двумя символами выглядит странно.
Наверно лучше написать:
nodiff="$nodiff :^$pattern"
--
Rgrds, legion
Подробная информация о списке рассылки Devel