2012-04-30 9 views
2

私はLatexを使ってレポートをタイプアップしましたが、教授から "revision.diff"ファイルが送られてきました。このファイルには、 "report.tex"ファイルの違いがすべて表示されています。私はdiffファイルの変更を受け入れる方法があるのだろうかと思っていますか?diffファイルからリビジョンを受け取る方法は?

答えて

3

私はある種のUNIXマシン(Linux、Mac)を使用していると仮定しています。

差分を使用する標準的な方法は、(gitあなたが潜在的にgitを使用することができる理由です密接に関連フォーマットを使用しますが、patchはほぼ確実にあなたのマシンに存在することになり、より簡単です)patchプログラムです。

まず、あなたの教授が受け取った.texファイルとまったく同じバージョンから開始していることを確認してください。

その後

% patch <revision.diff 

...は短い答えです。

完全にパッチを作成するための標準的な方法はありません。これは、diffをフォーマットするための「標準的な」方法がいくつか存在するためです。だから、いくつかの潜在的な合併症があります。

パッチファイルはこの

2c2 
< Blah blah 
--- 
> Blah blah wibble. 

またはこのような何か探して起動した場合:

--- report.tex 2012-04-30 21:05:51.000000000 +0100 
+++ report-modified.tex 2012-04-30 21:06:08.000000000 +0100 
@@ -1,5 +1,5 @@ 
\documentclass{article} 
-Blah blah 
+Blah blah wibble. 

...そして、上記の意志^ Wshould仕事を。

それはこのように見てオフに起動した場合:

--- a/report.tex 2012-04-30 21:05:51.000000000 +0100 
+++ b/report.tex 2012-04-30 21:06:08.000000000 +0100 
@@ -1,5 +1,5 @@ 
\documentclass{article} 
-Blah blah 
+Blah blah wibble. 

(上部のa/b/に注意)、その後、あなたは

% patch -p1 <revision.diff 

を使用する必要があります-p11「レベルを削除しますファイルの先頭に記載されているファイル名のスラッシュを使用します。

これは基本的にそれです。詳細は、patch(1)(つまり、patchコマンドのマンページ)を参照してください。特に、この方法でパッチを送信する人は、パッチのマニュアルページの最後に向かって「パッチ送信者のための注釈」を読み、それを消化する必要があります。

あなたはあなたの教授を送った1(物語のこの部分の道徳的、バージョン管理システムを使用して、タグよりも、あなたのreport.tex少し異なるバージョンで始まるまたはバージョンあなたのノートを維持している場合パッチコマンドはエラーを報告し、report.tex.rejというファイルを同じディレクトリに作成するようなことを行います。これにより、関連する変更をまとめて手動で適用できるようになります。

+0

ハングアップ。あなたは 'git'であなたの質問にタグを付けましたが、あなたの質問にgitは全く言及していません。実際にgitを使っていますか?その場合は、gitのドキュメントはおそらくあなたの友人です(ああ、私は問題を参照してください:私の経験では、gitのドキュメントは誰の友人ではない...) –

3

標準の統合されたdiff形式のファイルですか?その場合は、git apply revision.diffを使用してパッチを適用してください。

関連する問題