• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [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

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Blood Type Heredity Clothing Sizes
  • 囲碁、一力遼本因坊が初防衛 余正麒破り三冠堅持
    2024-05-30

    制作期間「足りていなかった可能性」
    2024-05-31

    白と黒で奏でるインスタレーション 渡辺信子が京都で「White and Black」
    2024-05-31

    【6月1日~2日】週末必見の“アート&デザイン”まとめ!
    2024-06-01

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

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

    知られざる作品や作家との巡り合いが生まれる高円寺のギャラリーショップ。
    2024-06-02

    現代美術作家の杉本博司がYouTubeチャンネル開設 素顔に迫る映像を公開
    2024-06-04

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

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

    ペース・ギャラリーが9月にグランドオープン。7月には特別内覧会を開催へ
    2024-06-04

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    横山奈美の個展「広い空に / Big Sky Mind」がN&A Art SITEで開催へ
    2024-06-05

    今年の「アートウィーク東京」は11月に開催。「AWT FOCUS」の監修には片岡真実
    2024-06-04

    五木ひろし歌手生活60年…ふるさと福井へ恩返しの新曲
    2024-06-04

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    岡田将生の初ブランド「IN MY DEN」始動、第1弾グッズの受注販売がスタート
    2024-06-06

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

    青森で来年夏に音楽祭 沖澤のどかさんが総監督
    2024-06-06

    ©  Dopu Box
    💛