
No.3ベストアンサー
- 回答日時:
一応念のためレスを…
>OSはWindows7 git bashやwindowsのコマンドプロンプトでは出来ませんか?
windowsにはpatchコマンドは標準ではついていません。patchコマンドをunix版からwindows版に移植したものがあるので、どうしても使いたいのであればそちらを使って下さい。
>>pullとかcloneしなおすとかで、最新状態にすればいいのでは?
>今はそういう状態です。ただ差分ですめば便利かなと
>以前は短い差分はコピペで済ませてました^^;
patchの当て方や戻し方を理解していないのであれば(あと当てたときの動作が以前とどう変わるかをソースからある程度予測できない場合)、pullなりcloneするなりしたほうがいいです。
パッチを当てて別なところがおかしくなるなどの問題が発生することもあるので、ある程度は理解が必要です。
>VisualStudio2010でソースコードビルドしてます
環境依存の部分とかありませんでしたか?そこが少し気になります。といっても環境依存するようなところはビルドするときにエラーがでるのかな…
この回答への補足
取り合えずpatchの基本からやってみました。
patchとdiffは移植しました。
diff -u hoge1.txt hoge2.txt
patch -p0 < hogepatch.txt
patch -R < hogepatch.txt
で階層無しで、差分出力、パッチ当て、パッチ解除出来ました。
diff -u foo/hoge1.txt bar/hoge2.txt
patch -p0 < hogepatch2.txt
patch -R < hogepatch2.txt
は差分出力、パッチ当ては出来るけどパッチ解除は
「Unreversed patch detected! Ignore -R?[n]」と出ます。何故でしょう?
あとdiffの差分出力をテキストファイルに出力する方法を教えて下さい
現在は範囲コピーしてます。
No.2
- 回答日時:
まずは、あなたがそのパッチを使おうとしているOSは何か、patchコマンドやそれに相当するツールは使える状態になっているのか、をはっきりさせてください。
> diff --git a/xxxx/xxxx/xxxx/xxxx.cs b/xxxx/xxxx/xxxx/xxxx.cs
> こんな感じの場合どうなんでしょう?
そのようなファイルが「パッチファイル」です。
diffコマンドの出力をそのまま保存したテキストファイルです。
前後の差分なので、行数が少なければ、手動での変更もできます。
> またパッチファイルはメモ帳で保存?拡張子は?
> パッチファイルを置く場所は?
なんでも構いません。
(#1の/path/to/patch_file に相当する箇所に) ファイルを指定するのが普通なので。
.patchや.diffが使われることもありますが、それでないといけない、というわけではありません。
で、パッチの当て方がわからないなら、pullとかcloneしなおすとかで、最新状態にすればいいのでは?
> 検索しても、ある程度以上のスキルに合わせて書かれているので理解出来ません。
まあ、それはそうでしょう。
パッチを必要とするのは、ソースコードからビルドして使うような、上級者がほとんどでしょうから。
この回答への補足
>パッチを使おうとしているOSは何か、patchコマンドやそれに相当するツールは使える状態になっているのか
OSはWindows7 git bashやwindowsのコマンドプロンプトでは出来ませんか?
>pullとかcloneしなおすとかで、最新状態にすればいいのでは?
今はそういう状態です。ただ差分ですめば便利かなと
以前は短い差分はコピペで済ませてました^^;
VisualStudio2010でソースコードビルドしてます
No.1
- 回答日時:
unix系OSであれば、patchコマンドで該当のパッチを適応できます。
コマンドはこんな感じです。
patch < /path/to/patch_file
ただし、はじめてパッチを当てる場合は-Cオプションをつけてエラーメッセージが出ないかどうかを確認しましょう。
-Cオプションは実際にパッチを当てずに処理内容を表示するオプションです。
patch -C < /path/to/patch_file
該当のパッチをcloneするなりダウンロードするなりしてローカルに保存してから行って下さい。
windowsの場合は分かりません
この回答への補足
diff --git a/xxxx/xxxx/xxxx/xxxx.cs b/xxxx/xxxx/xxxx/xxxx.cs
こんな感じの場合どうなんでしょう?
またパッチファイルはメモ帳で保存?拡張子は?
パッチファイルを置く場所は?
疑問ばかり?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
ftpコマンド出力結果の取得
-
findstrでヒットした1行前の文...
-
シェルからpsqlコマンドでトラ...
-
AccessVBAで実行時間を指定する...
-
ショートカットをデスクトップ...
-
コマンドプロンプトでファイル...
-
シェルスクリプト(.sh)で、10進...
-
バッチファイルでのMACアドレス...
-
CPRMでコピーしたDVDを再コピー...
-
DOSコマンドで指定日数よりも過...
-
バッチファイル
-
シェルスクリプトでwhileを用い...
-
バッチえファイルを編集するに...
-
ftpコマンドを実行すると「425 ...
-
Bシェルで配列を使いたいのです...
-
bashからFTPコマンドのステータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
make test って何をするための...
-
findstrでヒットした1行前の文...
-
AccessVBAで実行時間を指定する...
-
SSH接続でwindowsサーバのコマ...
-
DOSコマンドに詳しい方、お知恵...
-
シェルの「:コマンドが見つか...
-
ショートカットをデスクトップ...
-
フォルダ、ファイル操作に最適...
-
ftpコマンドを実行すると「425 ...
-
ftpコマンド出力結果の取得
-
バッチファイルでのMACアドレス...
-
DOSコマンドで指定日数よりも過...
-
2つ目の「pause」は無効?
-
バッチファイルでdiskpart.exe...
-
バッチえファイルを編集するに...
-
シェルスクリプト内のcdで、カ...
-
Pythonで単純にファイルを結合...
おすすめ情報