!![[猫科研究所パックa007のpatch.exeについて|BBS-briefboard/14]] - 優 (2010年06月21日 13時25分50秒) 猫科研究所パックa007に入っているpatch.exeについてなのですが、どうやら正常に動作していないようです。 パッチを当てようとしても、diffで作った後何も弄ってないパッチでも全て失敗して*.rejに書き出されてしまいます。(改行コードの一致不一致もちゃんと確認済み) ダメ元でa005のpatch.exeに差し替えて同じコマンドを叩いたところ正常に処理されたのでパッチファイル側ではなくpatch.exe側の問題かと思います。 *猫研パックは、インストール時にpatch.exeを使っています。そしていくつかの箇所では、失敗時にエラーを検出するようにもなってます。 - 猫P (2010年06月23日 0時30分45秒) *この際に処理対象となるパッチファイルは、猫研で作成したものもありますが、他のサイトから得たものもあります。 - 猫P (2010年06月23日 0時32分58秒) *つまり、少なくとも猫研の分かる範囲で、patch.exeの動作確認は常に行われており、不正であるとは思えません。 - 猫P (2010年06月23日 0時35分14秒) *手元でもa007のplus-build時に行われるpatch.exeの実行箇所を手動で実施し、確認してみましたが、エラーや.rejファイルが作成されるケースはないようです。 - 猫P (2010年06月23日 0時36分14秒) *よろしければ、どのようなパッチファイルを、どのようなコマンドラインで使用した場合に動作が不正であるか、情報のご提供をお願いします。 - 猫P (2010年06月23日 0時36分59秒) *そう言われてみれば確かにそうですね…>インストール時にpatch.exeを使っています。 - 優 (2010年06月23日 21時15分51秒) *症状はsvnから取得してきたffmpegのソースをコピーし変更を加えたのち「diff -Naur old new > patch.diff」でpatchを作成、 - 優 (2010年06月23日 21時15分57秒) *数日後、更に最新のffmpegをsvnから取得し「patch -uN < patch.diff」を実行すると(新規にファイルを作るもの以外)全てリジェクトされる。 - 優 (2010年06月23日 21時16分04秒) *他の場所で配布されてるパッチを当てようとしても同様に全てリジェクトされる。 - 優 (2010年06月23日 21時16分10秒) *patch.exeを古い猫研パックの物に変えたらちゃんと当てれた。という感じです。 - 優 (2010年06月23日 21時16分27秒) *色々とやってみました。結果から言うと、やはり改行関連ですね。 - 猫P (2010年06月25日 20時13分48秒) *patch.exeの実行に--binaryや、入力パッチファイルの指定にリダイレクトではなく、-iオプションを使うことでエラーなく当たるかと思います。 - 猫P (2010年06月25日 20時14分02秒) *--binarywo - 優 (2010年06月30日 00時59分30秒) *すみません誤爆です…。 --binaryを付けて実行する方で無事パッチを当てることができました。ありがとうございます。 - 優 (2010年06月30日 01時08分25秒) *余談ですが、リダイレクトでの指定ではなく-iオプションで当てた場合は変更後のファイルの改行コードが全て書き換えられる(?)のかdiffで新しいパッチを作る時全ての行が変更されてると認識されちゃいました。 - 優 (2010年06月30日 01時08分34秒) {{comment}}