From: Alexey Tourbin <at@altlinux.ru> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] jakarta-commons-latka-0:1.0-alt2_0.r389670.2jpp1.7 Date: Wed, 12 Sep 2007 00:09:14 +0400 Message-ID: <20070911200914.GT6051@solemn.turbinal> (raw) In-Reply-To: <9713cfcc0709111255p13d852d6ka5ff5e441b4cf224@mail.gmail.com> [-- Attachment #1: Type: text/plain, Size: 5773 bytes --] 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 [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-09-11 20:09 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-09-11 16:43 Alexey Tourbin 2007-09-11 16:55 ` Led 2007-09-11 17:14 ` [devel] shell dependencies Alexey Tourbin 2007-09-11 17:19 ` [devel] jakarta-commons-latka-0:1.0-alt2_0.r389670.2jpp1.7 Alexey I. Froloff 2007-09-11 17:27 ` Led 2007-09-11 19:20 ` Alexey Tourbin 2007-09-11 19:55 ` Led 2007-09-11 20:09 ` Alexey Tourbin [this message] 2007-09-11 20:26 ` Led 2007-09-11 20:35 ` Alexey Tourbin 2007-09-16 21:36 ` [devel] AutoReq: yes, shell Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20070911200914.GT6051@solemn.turbinal \ --to=at@altlinux.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git