20.3.2.3 コピー vs. リネーム

バックアップファイルは、古いファイルをコピーまたはリネームすることで作ることができます。コピーとリネームは、古いファイルが複数の名前をもつ場合(ハードリンクされている場合)に、異なる効果をもちます。古いファイルがバックアップファイルにリネームされた場合、ハードリンクされた別の名前で参照されるファイルは、バックアップファイルとなります。かわりに古いファイルをコピーすると、ハードリンクされた別の名前で参照されるファイルは、編集中のファイルのままで、それらの名前でアクセスする内容は新しい内容となります。

バックアップファイルを作る方法は、編集中のファイルの所有者とグループにも影響します。コピーが使われた場合、それらは変化しません。リネームが使われた場合、そのユーザーがファイルの所有者となり、ファイルのグループはデフォルト(オペレーティングシステムごとにグループのデフォルトは異なります)のグループになります。

リネームとコピーの選択は、以下の変数により行われます:

ファイルがバージョンコントロールシステムで管理されている場合(バージョンコントロールを参照)、通常、Emacsは普通の方法でそのファイルのバックアップを作りません。しかしコミット(チェックインとも呼ばれる。バージョンコントロールの概念を参照されたい)は、バックアップを作るのと似たところがあります。これらの操作は通常ハードリンクをこわし、同じファイルにたいする別のファイル名でのvisitを切断します。Emacsにできることはありません。バージョンコントロールシステムがこれを行うのです。

一部のファイルストレージサービス(FSS)はファイルバージョニング(file versioning)をサポートしています。これらのFSSではファイルにたいする以前の履歴を記録して、以前のバージョンにリバートすることができます。Emacsでこの種のサービスによってホストされたファイルを編集する際にこれらの操作を可能にしたい場合には、backup-by-copyingを非nil値にカスタマイズしてください。

大事なファイルの編集中には、古いファイルもバックアップとしてコピーできれば役に立つかもしれません。なぜならバックアップと編集の保存の間に何かが失敗しても古いファイル名として確実に保持されるからです。かわりにfile-precious-flagを非nil値にカスタマイズすることもできます。これによりコピーによるバックアップが行われるとともに、編集の保存の間のI/Oエラーから守ることができます。

This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.