3

Ubuntu で Apache Subversion (SVN) を使用しています。いくつかのサブプロジェクトで使用されるファイルがあります。したがって、同じファイルへのハードリンクを使用します。

以降svn commit、ハードリンクは独立したファイルになっているようです(リンク数は1になります)。

SVN がハード リンクを保持することは可能ですか?

4

2 に答える 2

3

Subversion は 1.1 (2004) 以降のシンボリック リンクをサポートしています。

ハードリンクは認識されず、通常のファイルとして扱われます。

こちらもご覧くださいSubversionによるバージョン管理

シンボリック リンクのバージョン管理

Windows 以外のプラットフォームでは、Subversion は特殊なタイプのシンボリック リンク (または「シンボリック リンク」) のファイルをバージョン管理できます。シンボリックリンクは、ファイルシステム内の他のオブジェクトへの一種の透過的な参照として機能するファイルであり、シンボリックリンク自体で操作を実行することにより、プログラムがそれらのオブジェクトを間接的に読み書きできるようにします。

シンボリック リンクが Subversion リポジトリにコミットされると、Subversion はファイルが実際にはシンボリック リンクであったことと、シンボリック リンクが「指す」オブジェクトを記憶します。そのシンボリック リンクが Windows 以外のシステム上の別の作業コピーにチェックアウトされると、Subversion はバージョン管理されたシンボリック リンクから実際のファイル システム レベルのシンボリック リンクを再構築します。しかし、シンボリックリンクをサポートしていない Windows などのシステムで作業コピーの使いやすさが制限されるわけではありません。そのようなシステムでは、Subversion は単純に、元のシンボリック リンクが指すパスを内容とする通常のテキスト ファイルを作成します。そのファイルを Windows システムでシンボリック リンクとして使用することはできませんが、Windows ユーザーが他の Subversion 関連のアクティビティを実行するのを妨げることもありません。

于 2012-09-17T09:45:18.613 に答える
2

ハードリンクは通常のファイルです。リンク数が 1 より大きいため、より多くの場所からリンクされていることがわかります。

すべてのプロジェクトで同じファイルを使用するためにできることの 1 つは、svn externals を使用することです。このようにして、1 つのプロジェクトに共有したいファイルがあり、他のすべてのプロジェクトがそのファイルを使用します。

svn externals の詳細については、こちらを参照してください。

于 2012-09-17T09:46:24.927 に答える