[devel] [PATCH 1/3] Introduce nodiff directive for gear-rules
Dmitry V. Levin
ldv на altlinux.org
Ср Дек 9 05:10:04 MSK 2020
On Thu, Nov 26, 2020 at 04:51:50PM +0100, Alexey Gladkov wrote:
> On Thu, Nov 26, 2020 at 04:17:01PM +0100, Alexey Gladkov wrote:
> > > В этом плане
> > >
> > > tar: v на version@:.
> > > diff: v на version@:. exclude=.gear
> > >
> > > по-моему выглядит менее красиво. Но я могу подготовить и такой вариант.
> >
> > Для меня это выглядит более понятно так как первый вариант выглядит
> > понятно только если знать, что nodiff это опция директивы diff.
> >
> > Если хотите увеличить читабильность, то давайте реализуем многострочные
> > директивы. Тогда можно будет написать:
> >
> > tar: v на version@:.
> > diff: v на version@:. . \
> > name=@new_dir на -@version на -@release на .patch \
> > exclude=.gear
>
> Быстрый патч, который позволит сделать такое. Нужно проверить не сломаются
> ли какие-нибудь gear-rules.
По крайней мере в Сизифе gear-rules, содержащих символ "\", не обнаружено.
> Signed-off-by: Alexey Gladkov <legion на altlinux.org>
Это хорошо, но в gear-rules(5) сейчас сказано буквально следующее:
"There is no support for line continuation."
Так что documentation update и commit message тоже нужны. :)
> ---
> gear | 3 ++-
> tests/gear-rules-diff-tag-tag-name.test | 11 +++++------
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/gear b/gear
> index 6282c92..3c95eaa 100755
> --- a/gear
> +++ b/gear
> @@ -575,7 +575,8 @@ parse_rules()
> done <"$workdir/rules"
>
> lineno=0
> - while read -r cmd options; do
> + # shellcheck disable=SC2162
> + while read cmd options; do
> lineno="$((lineno+1))"
> local optional=0
> case "$cmd" in
> diff --git a/tests/gear-rules-diff-tag-tag-name.test b/tests/gear-rules-diff-tag-tag-name.test
> index 9c244d8..2234be3 100644
> --- a/tests/gear-rules-diff-tag-tag-name.test
> +++ b/tests/gear-rules-diff-tag-tag-name.test
> @@ -24,12 +24,11 @@ gear_rules_diff_tag_tag_name() # test entry point
> git tag -a -m t1 v2
> git rm -q -f $dst/file
> mkdir .gear
> - printf '%s: %s %s %s\n' \
> - "$gear_directive" \
> - "v1:${src%/*}/@name на -v@version@" \
> - "v2:${dst%/*}/@name на -r@release@" \
> - "name=@name на -@old_dir на -@new_dir на -@version на -@release на .diff" \
> - >.gear/rules
> + cat >.gear/rules <<-EOF
> + $gear_directive: \
> + v1:${src%/*}/@name на -v@version@ v2:${dst%/*}/@name на -r@release@ \
> + name=@name на -@old_dir на -@new_dir на -@version на -@release на .diff
> + EOF
> git add .gear/rules
> gear-store-tags -a
> git commit -q -a -m 3
--
ldv
Подробная информация о списке рассылки Devel