置き換えようとしています。危険性を最小限にしたいと思っています。File::Transactionの子供です。さしているシンボリック・リンクに自動的に置き換えられます。10倍多くのファイルとディレクトリ操作を行います。このモジュールを使うべきです。)アトミックなコミットを実行します。サブディレクトリとシンボリック・リンクを作成します。使用するディレクトリの名前を与えます。commit()メソッドの呼び出しが残したものだとものと考えます。そのために片付けてしまいます。デフォルトのworkdirは現在のディレクトリでの.ftaworkです。その名前の既存のファイルは全て削除されます。TMPEXTに.oldをつけたものになります。それぞれのファイルの名前に追加される文字列を設定します。その名前の既存のファイルは全て削除されます。ファイルを置き換えようとするcommit()を引き起こすものと考えます。作成し、commit()を失敗させてしまうからです。制御できないという場合にのみ安全です。シンボリックリンクになることにより機能します。/two/twoの新しいバージョン最初にファイルを何も変更することなく、たくさんの準備をします。ディレクトリを作成します。/workdir/tobeお作成します。ハードリンクを作成します。シンボリック・リンクを作成します。いくつかのシンボリックリンクも生成します。oldそれではファイルを変更してみましょう。同じ内容を持っています。両方のファイルをその場所にまだ持っています。oldまだ何もファイルを変更していません。シンボリック・リンクになり、トランザクションがコミットされます。その場所に持っているので、トランザクションは破綻していません。'/two/two');そして.tmp.oldのファイルと/workdirを削除し、完了です。破ることなくrenameすることはできません。/workdirを削除する前に、そうした連鎖を削除する必要があります。ディレクトリでのシンボリック・リンクの名前にエンコードします。スラッシュ文字は-sに置換され、マイナス文字は-mで置き換えられます。絶対パスでも相対パスでも構いません。持っているディレクトリへの相対的に解釈されます。リンクではなく絶対パスを使っています。ファイルの古いバージョンは存在しないかもしれません。シンボリック・リンクをインストールします。シンボリック・リンクになります。プライベートなメソッド¶これらのメソッドはこのモジュールの中からしかアクセスできません。シンボリック・リンクを見極め、除去します。削除することができます。)既に利用されなくなったworkdirを削除します。ファイルへのフルパスをエンコードします。)_encode_filename()によって行われるエンコードの逆を行います。)rename()システム・コールを実行します。エラーのときはdieします。)link()システム・コールを実行します。エラーのときはdieします。)symlink()システム・コールを実行します。エラーのときはdieします。)ディレクトリDIRNAMEをモード0700で作成します。エラーのときはdieします。)ファイルFILENAMEへの絶対パスを返します。