現在の設定でvimのファイルを編集し、patchmode=.orig
2つのファイルがあります。
file.txt.orig
< - 変更なしでバックアップfile.txt
< - アップデートファイル
しかし、ファイル名を変更せずにdiffを生成したい.orig
ので、更新されたファイルにpatch
すぎないことを理解してください。file.txt
理想的には、実行できるワークフローが大好きです。
diff -u file.txt
自動的に比較され出力さfile.txt.orig
れfile.txt
ます.diff
。
--- file.txt 2021-05-03 17:47:12.685416342 +0200
+++ file.txt 2021-05-03 17:47:30.538750593 +0200
@@ -1 +1,2 @@
foo bar
+bar baz
変えるdiff -u file.txt.orig file.txt
--- file.txt.orig 2021-05-03 17:47:12.685416342 +0200
+++ file.txt 2021-05-03 17:47:30.538750593 +0200
@@ -1 +1,2 @@
foo bar
+bar baz
.diff
上記の場合、毎回ファイルを手動で編集する必要があります。ファイルが自動的に使用される場合は.orig
可能です。 vimパッチモードを統合diff
し、追加の努力なしに動作するパッチを持ちたいです。
たぶんもっと良い方法がありますか?どんな提案でも大変感謝します。どちらdiff
かがgit diff
私の状況に適しています。
ベストアンサー1
このワークフローは私にとって効果的です。以前に更新したファイルにパッチを適用してテストしているのでしょうか?
準備する
echo this is original >file.txt.orig
echo this is new >file.txt
diff -u file.txt.orig file.txt >file.diff
cat file.diff
--- file.txt.orig 2021-05-03 19:17:13.038918015 +0100
+++ file.txt 2021-05-03 19:17:21.548900027 +0100
@@ -1 +1 @@
-this is original
+this is new
パッチ用のソースファイルのコピーを作成する
mkdir x
cp -p file.txt.orig x/file.txt
cd x
cat file.txt
this is original
patch <../file.diff
patching file file.txt
cat file.txt
this is new