0

コードの一部が公開されているプロジェクトと公開されていないプロジェクトがあります。

私の事業体の完全なプロジェクトはフォルダーEにあり、特定のフォルダーPにはパブリック部分があります。Eフォルダー内の公開ファイルのPフォルダーにハードリンクを配置するのは良い考えだと思いました。

そのため、通常のワークフローは、エンタープライズバージョンのフォルダーEで作業し、ときどきフォルダーPに移動してパブリックファイルをコミットする必要があります。(私が「一人で」働く場合、それはうまくいくことに注意してください)

問題は、フォルダEのファイルのマージ/プル/リベースを実行すると、ファイルが置き換えられ、iノードが変更されるため、フォルダPにハードリンクされているファイルが更新されないことです。

だから私の質問は:マージ/プル/リベース時にファイルのiノードを変更しないオプションを許可するバージョン管理システムはありますか?

私はgit(またはgit-svn)を使用していますが、この便利なオプションに切り替えることに同意します。

ありがとう

ルイ

PS:私はこの質問(Gitとハードリンク)を見ましたが、ここではハードリンクを利用してより効率的に機能したいと思います。

4

1 に答える 1

0

私の提案は、シンボリックリンクを使用することです。それらは inode に依存しておらず、Subversion でバージョン管理できることも知っています (そして、git を期待します)。作業コピーの一部がファイルシステムの境界を越える可能性があるというのは (非常に悪い考えではありますが) もっともらしいので、ハードリンクのバージョン管理は非常に困難です。

于 2011-05-31T21:54:15.497 に答える