[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