• 온라인 도구
  • - 계산기
    • 문자 수
  • - 다운로드
    • TikTok 다운로드
    • DouYin 다운로드
  • - 웹 도구
    • 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
  • ジョン・レノンのギター4億5千万円で落札
    2024-05-30

    原作者の意向は取り入れられたと日テレ
    2024-05-30

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

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

    エリザベートコンクールで吉田さん6位入賞
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    道後温泉の記憶を継承するアート 大竹伸朗が“描き”重要文化財を守ったテント膜「熱景」の再生
    2024-06-03

    中国でドラえもん映画が興行首位 国際こどもの日に12億円
    2024-06-03

    万博無料招待、大阪の学校7割が希望 「不参加」の選択肢ない調査手法に批判も
    2024-06-03

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

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

    写真家たちは強大な権力の抑圧にどう抗ったのか。バルト三国の写真家に焦点を当てる展覧会をレポート
    2024-06-04

    アレクサンダー・カルダー個展「カルダー:そよぐ、感じる、日本」が開催
    2024-06-04

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

    2025年春に「直島新美術館」が誕生。既存の活動から新しい価値創造を目指す
    2024-06-04

    開館10周年を記念。「広重 ─摺の極─」があべのハルカス美術館で開催へ
    2024-06-05

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

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

    佐渡金山「情報照会」と勧告 世界遺産登録に可能性残す
    2024-06-06

    umami.is をおすすめする理由
    2025-07-04

    ©  Dopu Box
    💛