[devel] jakarta-commons-latka-0:1.0-alt2_0.r389670.2jpp1.7

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Сен 12 00:09:14 MSD 2007


On Tue, Sep 11, 2007 at 10:55:20PM +0300, Led wrote:
> 2007/9/11, Alexey Tourbin <at на altlinux.ru>:
> > On Tue, Sep 11, 2007 at 08:27:50PM +0300, Led wrote:
> > > Это серьёзно перелопачивать shell-скрипты, которых может быть в паукете "не
> > > один" и "немаленький". В этом случае разговор о поиске
> > > exec ...
> >
> > Увы, бывают действительно "кривоватые" скрипты, да и не совсем
> > кривоватые, в которых поиск зависимостей дает слишком много результатов.
> > Всё же стоит попытаться выяснить, много ли там перелопачивать или нет.
> 
> Бывают и "кривоватие"... Но, всё же, переделывать
> /usr/bin/foo
> на
> FOO=/usr/bin/foo
> $FOO
> ?
> ИМХО это не исправление "кривостей", а "расстановка костылей" (?)

Увы, я тоже смотрю на это как на расстановку костылей.  С другой
стороны, так можно договориться до того, что нужно похерить всю идею
автоматического поиска зависимостей -- просто потому, что существуют
условные зависимости.  Они существуют не только в шелле, но и в других
интепретируемых языках.  Просто в шелле с ними сложнее бороться.

В некоторых случаях очень тяжело сказать, стоит ли расставлять костыли,
или проще отключить поиск зависимостей в конкретном файле.  См. напр.
git.git v1.5.1.1-113-g6fcc309 (ниже целиком).

Но отключить поиск зависимостей в отдельно взятом файле, если сыскалась
паршивая овца, вполне себе можно:
	%add_findreq_skiplist %_bindir/овца

К сожалению, пока нет способа игнорировать сами зависимости
определенного вида.


commit 6fcc3098dc58239f3437779740efee7a5c87ae20
Author: Dmitry V. Levin <ldv на altlinux>
Date:   Thu Apr 12 13:26:49 2007 +0000

    git-mergetool.sh: Protect merge tool names from "sh --find-requires"

diff --git a/git-mergetool.sh b/git-mergetool.sh
index e62351b..4db2a80 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -191,10 +191,10 @@ merge_file () {
     case "$merge_tool" in
 	kdiff3)
 	    if base_present ; then
-		(kdiff3 --auto --L1 "$path (Base)" -L2 "$path (Local)" --L3 "$path (Remote)" \
+		($merge_tool --auto --L1 "$path (Base)" -L2 "$path (Local)" --L3 "$path (Remote)" \
 		    -o "$path" -- "$BASE" "$LOCAL" "$REMOTE" > /dev/null 2>&1)
 	    else
-		(kdiff3 --auto -L1 "$path (Local)" --L2 "$path (Remote)" \
+		($merge_tool --auto -L1 "$path (Local)" --L2 "$path (Remote)" \
 		    -o "$path" -- "$LOCAL" "$REMOTE" > /dev/null 2>&1)
 	    fi
 	    status=$?
@@ -202,9 +202,9 @@ merge_file () {
 	    ;;
 	tkdiff)
 	    if base_present ; then
-		tkdiff -a "$BASE" -o "$path" -- "$LOCAL" "$REMOTE"
+		$merge_tool -a "$BASE" -o "$path" -- "$LOCAL" "$REMOTE"
 	    else
-		tkdiff -o "$path" -- "$LOCAL" "$REMOTE"
+		$merge_tool -o "$path" -- "$LOCAL" "$REMOTE"
 	    fi
 	    status=$?
 	    save_backup
@@ -218,13 +218,13 @@ merge_file () {
 	xxdiff)
 	    touch "$BACKUP"
 	    if base_present ; then
-		xxdiff -X --show-merged-pane \
+		$merge_tool -X --show-merged-pane \
 		    -R 'Accel.SaveAsMerged: "Ctrl-S"' \
 		    -R 'Accel.Search: "Ctrl+F"' \
 		    -R 'Accel.SearchForward: "Ctrl-G"' \
 		    --merged-file "$path" -- "$LOCAL" "$BASE" "$REMOTE"
 	    else
-		xxdiff -X --show-merged-pane \
+		$merge_tool -X --show-merged-pane \
 		    -R 'Accel.SaveAsMerged: "Ctrl-S"' \
 		    -R 'Accel.Search: "Ctrl+F"' \
 		    -R 'Accel.SearchForward: "Ctrl-G"' \
@@ -236,18 +236,18 @@ merge_file () {
 	opendiff)
 	    touch "$BACKUP"
 	    if base_present; then
-		opendiff "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$path" | cat
+		$merge_tool "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$path" | cat
 	    else
-		opendiff "$LOCAL" "$REMOTE" -merge "$path" | cat
+		$merge_tool "$LOCAL" "$REMOTE" -merge "$path" | cat
 	    fi
 	    check_unchanged
 	    save_backup
 	    ;;
-	emerge)
+	emacs)
 	    if base_present ; then
-		emacs -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$path"
+		$merge_tool -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$path"
 	    else
-		emacs -f emerge-files-command "$LOCAL" "$REMOTE" "$path"
+		$merge_tool -f emerge-files-command "$LOCAL" "$REMOTE" "$path"
 	    fi
 	    status=$?
 	    save_backup
@@ -293,8 +293,11 @@ done
 if test -z "$merge_tool"; then
     merge_tool=`git-config merge.tool`
     case "$merge_tool" in
-	kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | "")
+	kdiff3 | tkdiff | xxdiff | meld | opendiff | emacs | vimdiff | "")
 	    ;; # happy
+	emerge)
+	    merge_tool=emacs
+	    ;;
 	*)
 	    echo >&2 "git config option merge.tool set to unknown tool: $merge_tool"
 	    echo >&2 "Resetting to default..."
@@ -305,7 +308,7 @@ fi
 
 if test -z "$merge_tool" ; then
     if type kdiff3 >/dev/null 2>&1 && test -n "$DISPLAY"; then
-	merge_tool="kdiff3";
+	merge_tool=kdiff3
     elif type tkdiff >/dev/null 2>&1 && test -n "$DISPLAY"; then
 	merge_tool=tkdiff
     elif type xxdiff >/dev/null 2>&1 && test -n "$DISPLAY"; then
@@ -315,7 +318,7 @@ if test -z "$merge_tool" ; then
     elif type opendiff >/dev/null 2>&1; then
 	merge_tool=opendiff
     elif type emacs >/dev/null 2>&1; then
-	merge_tool=emerge
+	merge_tool=emacs
     elif type vimdiff >/dev/null 2>&1; then
 	merge_tool=vimdiff
     else
@@ -325,18 +328,12 @@ if test -z "$merge_tool" ; then
 fi
 
 case "$merge_tool" in
-    kdiff3|tkdiff|meld|xxdiff|vimdiff|opendiff)
+    emacs|kdiff3|meld|opendiff|tkdiff|vimdiff|xxdiff)
 	if ! type "$merge_tool" > /dev/null 2>&1; then
 	    echo "The merge tool $merge_tool is not available"
 	    exit 1
 	fi
 	;;
-    emerge)
-	if ! type "emacs" > /dev/null 2>&1; then
-	    echo "Emacs is not available"
-	    exit 1
-	fi
-	;;
     *)
 	echo "Unknown merge tool: $merge_tool"
 	exit 1

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070912/956bc1ce/attachment-0002.bin>


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