Follow

git とハードリンクについての調査

ハードリンクを貼って、2つのファイルをコミットしたとしても、git自体は「別の2つのファイル」として認識する
→当然といえば当然なのだろう
→git pullした別のリポジトリは「ハードリンク」としては扱わない
→既に「2つのファイル」がハードリンク済であったとしても、その情報は消させ「別の2つのファイル」となってしまう
→なので、もし使うとすれば「git pull毎にハードリンクを貼り直す」しかない

→inode番号を都度確認したので上記結論で間違いないはず

→git pullは「既存ファイル」であったとしても、inode番号が変わった。ファイルの追記ではなく置換なのだろうか。ハードリンク関係なく毎度inode番号が変わる=新規ファイル作成の動作をするかどうかまでは未調査

→それこそ「ファイルシステム」の実装次第なのかもしれない。上記調査はNTFS上だが「利口な」ファイルシステムもあるかもしれない。

Sign in to participate in the conversation
mstdn.jp

Mastodon日本鯖です. よろしくお願いいたします。 (Maintained by Sujitech, LLC)