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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Gitについて 1 2022/06/17 09:35
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- X(旧Twitter) Twitterについて質問です。 他人のTwitterネーム(表示名ではなく、リプライに使う@xxx 2 2023/07/17 09:52
- PHP PHPSpreadsheetを使って関数を繰り返し埋め込みたい 1 2023/05/24 11:33
- JavaScript イラストレーター、縦中横のショートカットをスクリプトを使って作成する方法 1 2023/04/19 11:15
- Google Maps 郵便番号を Google マップで調べる方法を教えてください 環境としては 日本に滞在して間もない 3 2022/03/23 12:25
- Ruby Gitのクローンについて 3 2022/04/10 12:28
- Gmail gmailの受信が止まりました 1 2022/08/20 22:12
- グループウェア Outlookのpstファイルが勝手に消える 1 2023/06/12 09:51
- 地震・津波 3月17日の仙台の地震動画の光 2 2022/04/26 09:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
シェルの「:コマンドが見つか...
-
コマンドプロンプトでファイル...
-
make test って何をするための...
-
バッチファイルを使ってテキス...
-
FTP送信エラーの検知について
-
ftpコマンドを実行すると「425 ...
-
コマンドプロンプトのFTPコマン...
-
コンピュータ名をファイル名に...
-
シェルからpsqlコマンドでトラ...
-
コマンドプロンプトのERRORLEVE...
-
VS2019のコンソールC++からGn...
-
SSH接続でwindowsサーバのコマ...
-
ショートカットをデスクトップ...
-
コマンドプロンプトのバッチで...
-
bashからFTPコマンドのステータ...
-
Pythonで単純にファイルを結合...
-
VBSでタイマー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
ショートカットをデスクトップ...
-
バッチコマンドのIF文(条件...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで、特定の...
-
findstrでヒットした1行前の文...
-
コンピュータ名をファイル名に...
-
Pythonで単純にファイルを結合...
-
AccessVBAで実行時間を指定する...
-
コマンドプロンプトのERRORLEVE...
-
BATファイル作成時の記述に...
-
SSH接続でwindowsサーバのコマ...
-
バッチファイルでdiskpart.exe...
-
DOSコマンドで指定日数よりも過...
おすすめ情報