Next: , Previous: Backups, Up: Merging with patch


10.9 バックアップファイル名

通常,patchは,オリジナルの入力ファイルを,その名前に拡張子 ‘.orig’や,‘.orig’がバックアップファイルとして長過ぎる場合は ‘~’を後置したバックアップファイルに名前を変えます. 1 -z backup-suffix--suffix=backup-suffixオ プションで,代わりのバックアップ用拡張子としてpatchbackup-suffixを使用します.

また,SIMPLE_BACKUP_SUFFIX環境変数でバックアップファイルの拡張子を 指定することも可能ですが,オプションが優先されます.

patchでは,gnu Emacsのように番号付のバックアップファイル を作成することも可能です.この手法を用いることで,それぞれのファイルに対 して単一のバックアップファイルを持つ代わりに,patchでファイル にパッチを当てるたびに新しいバックアップファイルを作成します.例えば, sinkという名前のファイルのバックアップは,連続的に, sink.~1~sink.~2~sink.~3~等になります.

-V backup-style--version-control=backup-styleオプションは,バックアップ ファイルを作成する手法を引数として受け入れます.patchPATCH_VERSION_CONTROL環境変数を用いて作成するバックアップの形式を 制御することも可能で,-Vオプションで優先します. PATCH_VERSION_CONTROLが設定されていない場合,VERSION_CONTROL 環境変数が代わりに使用されます.これらのオプションや変数でバックアップファ イルの名前を制御することに注意してください.リビジョンコントロールシステ ムの選択には影響しません(see Revision Control).

環境変数と-Vオプションの引数の値は,gnu Emacsの version-control変数に似ています(Emacsのバックアップバージョンの詳 細は,see Backup Names).それ らは,より記述的な同義語も認識します.有効な値は以下にリストアップしてい ます.一意に求まる省略も受け入れます.

t
numbered
常に番号付のバックアップファイルを作成します.
nil
existing
既に存在しているファイルの番号付のバックアップを作成し,それ以外では単純 なバックアップを作成します.これはデフォルトです.
never
simple
常に単純なバックアップを作成します.

patchに,ディレクトリ名のような接頭辞を付けてバックアップファ イルを作成するるように伝えることも可能です.-B prefix--prefix=prefixオプションで,prefixを前置したバック アップファイルを作成します.-Y prefix--basename-prefix=prefixで,バックアップファイル名のファ イル名の構成要素の最後に,その代わりにprefixを前置します.例えば, -Y ~dir/file.cのバックアップファイルは dir/~file.cになります.これらの接頭辞オプションの一つを使用した場 合,接尾子をベースにしたオプションは無視されます.

出力ファイルを-oオプションで指定する場合,そのファイルはバック アップされたものになりますが,入力ファイルではありません.

バックアップファイルの名前に影響するオプションは,バックアップを作成する かどうかに影響しません.例えば,--no-backup-if-mismatchオプショ ンを指定した場合はバックアップが作成されないので,このセクションで記述さ れているオプションは全く影響しません.


脚注

[1] gnu patchのバージョン2.5.4でのコーディングエラー で,常に‘~’が使用されますが,次のリリースで修正されるでしょう.