• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
svn diffの代わりにvimdiffを使用するコード表示ツール
2021-12-07

linuxでは、svn diffコマンドを直接使用してコードの修正を表示するのは難しいので、vimdiffをsvn diffのコードを表示するツールとして、特にvimに慣れている人にとって本当に便利なソリューションをネットで検索しました。

svn diffコマンドを使用してファイルの変更の前後を比較する場合、たとえば次のコマンドを実行します。

$ svn diff -r4420 ngx_http_limit_req_module.c

では、実際にはデフォルトのdiffプログラムに次のコマンドが送信されます。

-u -L ngx_http_limit_req_module.c (revision 4420) -L ngx_http_limit_req_module.c (working copy) .svn/tmp/tempfile.tmp ngx_http_limit_req_module.c

 

svn公式FAQにおけるsvn diffの解釈(中国語、英語):

外部のdiffコマンドを使用すると、Subversionは非常に複雑なコマンドラインを生成します。最初のパラメータは、特定の--diff-cmd、次に特定の--extensions(空白の--記号を使用する場合は拡張を無視しますが)、または--extensionsまたは--extensionsを空に指定しない場合は「-u」パラメータを追加します。3番目と4番目のパラメータはSubversionでは、1つの"-L"と1つ目のファイルのラベル(たとえば、"project_issues.html(revision 11209)")が渡されます。5つ目と6つ目は、もう1つの"-L"と2つ目のファイルのラベルです。7番目と8番目のパラメータは、それぞれ1つ目と2つ目のファイルの名前(たとえば、".svn/text-base/project_issues.html.svn-base"と“.svn/tmp /project_issues.html.tmp”)。

diffの内部呼び出しコマンドを理解するとvimdiffをdiffプログラムとして実装するのは簡単である.

vimdiffは、2つのファイルを比較する際に、この2つのファイルの経路とファイル名を知ればよい、すなわち、上記diff内部コマンドの7番目と8番目の2番目のパラメータである。

また、diff内部コマンドのパラメータが多すぎるため、vimdiffを--diff-cmdで直接呼び出すことはできないことも説明した(コマンドは以下の通り)。

 $ svn diff --diff-cmd vimdiff -r4420 ngx_http_limit_req_module.c

だから、私たちは自分で別のスクリプトを書いて、このスクリプトをdiffプログラムとして、diffの内部コマンドを得て、それからその中の7番目と8番目のパラメータだけを取って、vimdiffに伝えて、このようにパラメータの多い問題を解決することができます。

#!/bin/sh
# 去掉前5个参数
shift 5
# 使用vimdiff比较
vimdiff "$@"

スクリプト(diffwrap.sh)は次のとおりです。

また、svnは、svn diffを使用するたびにdiff-cmdを指定する必要がなく、プロファイルでdiffデフォルトプログラムを変更する機能も提供します。

修正~/.subversion/config、次の構成行を見つけます。

# diff-cmd = diff_program (diff, gdiff, etc.)

上のスクリプトのパスを追加すればいいです。たとえば、

diff-cmd = /usr/local/bin/diffwrap.sh

以降、svn diffコマンドを使用するとvimdiff比較2ファイルがデフォルトで開きます。

効果図:


ソース元URL:https://dopubox.com/article/p/bcbd1f0e9126239d

其他工具
  • 字元計數 TikTok 下載 抖音下載 BASE64 Base64 轉圖片 圖片轉 Base64 URL 編碼 JavaScript 時間戳 Unicode 轉換器 JSON 格式化 修改副檔名 製作列表 CSS 優化器 MD5 加密 隨機生成器 圖像壓縮 QR 碼生成器 QR 碼識別器 壁紙預覽 圖片 EXIF 血型遺傳 服裝尺寸 app.tool_clock
  • MURAKAMI × Liquem 夢のコラボアクセが再登場☆|長山智美 デザイン狩人
    2024-05-30

    『マッドマックス:フュリオサ』に登場する「ある絵画」は何を意味しているのか? ギリシア神話と「ファム・ファタル」から考察する
    2024-06-01

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

    三姉妹が温泉旅行で取っ組み合いの大げんか うっとうしくてめんどうくさい家族愛描く「お母さんが一緒」
    2024-06-02

    声優の増山江威子さん死去
    2024-06-03

    河合隼雄賞に八木詠美さん「休館日の彼女たち」、湯澤規子さん「焼き芋とドーナツ」
    2024-06-02

    テレ東が警察密着番組の担当者らを懲戒処分
    2024-06-03

    ジャスパー・モリソンの名言「…が「普通」のものより役にたつことはない。」【本と名言365】
    2024-06-03

    「ロバート」秋山さんが鳥取PR イリュージョニストに扮し
    2024-06-04

    レイモンド・ローウィの名言「優れたインダストリアルデザインは、…」【本と名言365】
    2024-06-04

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    「君たちはどう生きるか」展 第二部 レイアウト編(三鷹の森ジブリ美術館)レポート。絵を描くことの営為、そして苦悩も見せる
    2024-06-04

    彫刻の森美術館で「舟越桂 森へ行く日」が開催へ
    2024-06-05

    太宰府天満宮で「Fukuoka Art Book Fair」が開催へ
    2024-06-04

    田名網敬一「TANAAMI!! AKATSUKA!! / 45 rpm」展、集英社マンガアートヘリテージ トーキョーギャラリーで開催
    2024-06-04

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

    古今東西 かしゆか商店【つづら】
    2024-06-05

    美しくて“かわいい”結びの技  1400年の歴史を誇る「水引」の可能性を探って
    2024-06-06

    もしあの時に戻れたら…歌人・穂村弘が話題書『迷子手帳』で明かす、今も忘れられない「失敗」
    2024-06-07

    ©  Dopu Box
    💛