[devel] [PATCH 1/3] Introduce nodiff directive for gear-rules

Alexey Gladkov legion на altlinux.ru
Чт Ноя 26 18:51:50 MSK 2020


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.

Signed-off-by: Alexey Gladkov <legion на altlinux.org>
---
 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
-- 
2.25.4



Подробная информация о списке рассылки Devel