SideMenu
hackaholic
編集
WikiMenu
開始行:
patch
オープンソースである[[NetHack]]は、NetHack開発者以外の人...
修正・改造・追加が多数存在する。
大規模な改造は[[ヴァリアント]]として出ているが、小さな修...
パッチという形式で出ている場合が多い。
基本的にはdiffコマンドによるソースファイルの差分ファイル...
公開されているものである。
* NetHackの主なパッチ [#ce7e68f4]
- [[Lethe patch]]
- [[Wizard Patch]]
- [[JNetHackやその他バリアント向けに公開されているパッチ>...
- [[NetHack Patch Database>http://bilious.homelinux.org/]]
- [[こんにゃくパッチ>http://www.google.co.jp/search?hl=ja...
* パッチの作り方 [#ed89d9e7]
パッチは基本的にテキストファイルであるため、バイナリファ...
バイナリファイルに差がないことを前提とする。
修正前のファイルの入ったディレクトリ(仮にold_srcとする)と
修正後のファイルが入ったディレクトリ(仮にnew_srcとする)を
同じディレクトリ(仮にtempとする)内に配置し、
tempをカレントディレクトリとして以下のコマンドを実行する。
diff -aurN old_src new_src > foo.diff
オプションの意味は次のとおり:
- '''-a''' が全ファイルをテキストとみなして処理する。昔の...
- '''-u''' がunified 出力形式を使用する。これは行頭に行追...
- '''-r''' がサブディレクトリ配下を再帰的に比較する。
- '''-N''' が片方にファイルが存在しなかった場合に全内容を...
修正前と修正後のディレクトリが異なるディレクトリ内にある...
差分は作成できるが相対パス位置が作成したパッチに記録され、
パッチを当てるときの障害になるのでお勧めしない。
なお、CVSディレクトリ同士で差分をとる場合はオプションに '...
付加することでCVS管理ディレクトリ配下の差をパッチファイル...
することができる。
また、WindowsにてNetHackのパッチを作成するときは cygwin ...
使用すれば、LF改行コードとCRLF改行コードの混在したファイ...
正常に取ることが可能。
* パッチの当て方 [#ea32d691]
パッチを当てる元のディレクトリをカレントディレクトリとし...
以下のコマンドを実行する。
patch -p1 < foo.diff
カレントディレクトリの中身が書き換わるので元を残しておき...
コピーしておくこと。
ちなみにオプションの意味は「パッチファイル内のdiffコマン...
比較ディレクトリ名の最初のディレクトリ名を無視する」であ...
パッチを当てる元のディレクトリ名と比較ディレクトリ名が同...
パッチを当てる元のディレクトリの上位ディレクトリで
''patch -p0 < foo.diff''
とすることでパッチを当てることが可能。
また、WindowsにてNetHackのパッチを当てるときは cygwin の ...
* パッチの外し方 [#nf8c6ff0]
同様に以下のコマンドを実行する。
patch -p1 -R < foo.diff
うまくいかないこともあるので、まっさらの状態のソースを保...
* 関連リンク [#v73d7e90]
- Wikihackの記事~
[[WikiHack:Patch]]~
[[WikiHack:Diff]]~
[[WikiHack:Category:Patches]]
終了行:
patch
オープンソースである[[NetHack]]は、NetHack開発者以外の人...
修正・改造・追加が多数存在する。
大規模な改造は[[ヴァリアント]]として出ているが、小さな修...
パッチという形式で出ている場合が多い。
基本的にはdiffコマンドによるソースファイルの差分ファイル...
公開されているものである。
* NetHackの主なパッチ [#ce7e68f4]
- [[Lethe patch]]
- [[Wizard Patch]]
- [[JNetHackやその他バリアント向けに公開されているパッチ>...
- [[NetHack Patch Database>http://bilious.homelinux.org/]]
- [[こんにゃくパッチ>http://www.google.co.jp/search?hl=ja...
* パッチの作り方 [#ed89d9e7]
パッチは基本的にテキストファイルであるため、バイナリファ...
バイナリファイルに差がないことを前提とする。
修正前のファイルの入ったディレクトリ(仮にold_srcとする)と
修正後のファイルが入ったディレクトリ(仮にnew_srcとする)を
同じディレクトリ(仮にtempとする)内に配置し、
tempをカレントディレクトリとして以下のコマンドを実行する。
diff -aurN old_src new_src > foo.diff
オプションの意味は次のとおり:
- '''-a''' が全ファイルをテキストとみなして処理する。昔の...
- '''-u''' がunified 出力形式を使用する。これは行頭に行追...
- '''-r''' がサブディレクトリ配下を再帰的に比較する。
- '''-N''' が片方にファイルが存在しなかった場合に全内容を...
修正前と修正後のディレクトリが異なるディレクトリ内にある...
差分は作成できるが相対パス位置が作成したパッチに記録され、
パッチを当てるときの障害になるのでお勧めしない。
なお、CVSディレクトリ同士で差分をとる場合はオプションに '...
付加することでCVS管理ディレクトリ配下の差をパッチファイル...
することができる。
また、WindowsにてNetHackのパッチを作成するときは cygwin ...
使用すれば、LF改行コードとCRLF改行コードの混在したファイ...
正常に取ることが可能。
* パッチの当て方 [#ea32d691]
パッチを当てる元のディレクトリをカレントディレクトリとし...
以下のコマンドを実行する。
patch -p1 < foo.diff
カレントディレクトリの中身が書き換わるので元を残しておき...
コピーしておくこと。
ちなみにオプションの意味は「パッチファイル内のdiffコマン...
比較ディレクトリ名の最初のディレクトリ名を無視する」であ...
パッチを当てる元のディレクトリ名と比較ディレクトリ名が同...
パッチを当てる元のディレクトリの上位ディレクトリで
''patch -p0 < foo.diff''
とすることでパッチを当てることが可能。
また、WindowsにてNetHackのパッチを当てるときは cygwin の ...
* パッチの外し方 [#nf8c6ff0]
同様に以下のコマンドを実行する。
patch -p1 -R < foo.diff
うまくいかないこともあるので、まっさらの状態のソースを保...
* 関連リンク [#v73d7e90]
- Wikihackの記事~
[[WikiHack:Patch]]~
[[WikiHack:Diff]]~
[[WikiHack:Category:Patches]]
ページ名: