• オンラインツール
  • - 計算機
    • 文字数カウント
  • - ダウンロード
    • TikTok ダウンロード
    • Douyin ダウンロード
  • - Webツール
    • BASE64
    • Base64→画像
    • 画像→Base64
    • URLエンコード
    • JavaScript
    • タイムスタンプ
    • ユニコード変換
    • 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 ダウンロード Douyin ダウンロード BASE64 Base64→画像 画像→Base64 URLエンコード JavaScript タイムスタンプ ユニコード変換 JSON整形 拡張子変更 リスト作成 CSS最適化 MD5暗号化 ランダムジェネレーター 画像圧縮 QRコードジェネレーター QRコードリーダー 壁紙プレビュー 画像 EXIF 血液型遺伝 服のサイズ app.tool_clock
  • <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    歯科医師の技術で愛好家も納得するサウナを細部まで再現するミニチュア作家
    2024-05-30

    一力が本因坊初防衛
    2024-05-30

    むのたけじ賞、名称変更 「生前に障害者差別発言」
    2024-05-31

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    森鷗外の教師像に迫る 研究の「盲点」、記念館で特別展 学生の評判も紹介
    2024-06-01

    ニコライ・バーグマンが手がける北欧のジュエリーブランド〈フローラダニカ〉旗艦店が南青山にオープン。
    2024-06-03

    IT国家の最先端研究を知って 奈良・宇陀市がエストニアへの短期留学事業
    2024-06-04

    文科相、佐渡金山の果報待ちたい ユネスコの評価、近く判明
    2024-06-03

    本年入試私立公立とも志願者微減 栄光ゼミナール担当者にきく 埼玉中高入試最新動向
    2024-06-04

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

    お台場エリアを舞台に新芸術祭「東京お台場トリエンナーレ 2025」が誕生
    2024-06-05

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

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

    ビル・エヴァンスの名言「才能なんて取るに足りない」【本と名言365】
    2024-06-05

    安藤忠雄さん設計の美術館名称決まる…香川・直島に2025年オープン
    2024-06-05

    宗教2世のドラマが受賞 第50回放送文化基金賞
    2024-06-06

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    今週末に見たい展覧会ベスト8。閉幕の横浜トリエンナーレから、「梅津庸一 クリスタルパレス」、石川九楊の2ヶ月連続個展まで
    2024-06-06

    パートナーとの強い絆から生まれた、ベンジャミン・ブリテンの代表作【クラシック今日は何の日?】
    2024-06-06

    ©  Dopu Box
    💛