2013-04-02 9 views
8

私はPHPとJavaの両方で小さなアプリケーションを開発しています。それは両方で共有される必要があるいくつかの写真、CSSとJSを持っています。Subversionリポジトリのシンボリックリンクですか?

これらのファイルを複製しないようにするには、JSとCSSが両方で同じである必要があります。だから私は、1つの場所でそれを変更すると、その変更はもう一方の場所に複製されることを望みます。

UNIXでは、シンボリックリンクがあるため、同じファイル/フォルダがファイルシステムの複数の場所に存在することがあります。 Subversionにはsvn copyがありますが、一度実行されると両方のコピーが独立します。私はそれらを一緒に保つために、1つのコピーで行われたコミットも "その他"にも適用されます。

どうすればいいですか?

+0

可能な重複から共通リポジトリのアーティファクト(S)の適切なバージョンを解決することができますSubversionへのシンボリックリンクを追加するとどうなりますか?](https://stackoverflow.com/questions/4056092/what-happens-if-i-add-a-symbolic-link-to-subversion) –

答えて

15

投稿にはsymlinksがありますが、「シャドーリンク」(投稿を編集しました)ではありません。 Subversionではシンボリックリンクのバージョンを設定できますが、別の方法として、シンボリックリンクはExternalsを使用してシンボリックリンクをWindows上のSubversionでサポートしています。

Subversionを外部で使用すると、実際にはシステム上にファイルのコピーが2つあります(リポジトリ内の同じ場所を指します)。シンボリックリンクはファイルシステム。

+0

もう一度お返事ありがとうございます外観を見てください。私はUnixを使っていないのですが、ShadowはMacの名前で、Unixでは象徴的で、Windowsでは.lnkであると思います。 – Hikari

+5

Windows上のLNKファイルはショートカットです(別のファイルと別のファイルを指すデータファイル)。シンボリックリンクではありません。 NTFS(Windowsのファイルシステム)にはWin7のシンボリックリンクがあり、その前にハードリンクがあります。 OS XのFinderには、概念上のWindowsショートカットに似ていますが、実行が異なる*エイリアス*があります。 OS Xはファイルシステムのシンボリックリンクもサポートしています。彼らは異なったものなので、名前はそれぞれ異なります。特に、あなたがそれらを理解していないことを知っているので、それらを交換可能に使用しないでください! – alroc

3

あなたは、プロジェクトがsvnでどのようにレイアウトされているか、どのようにJavaのものがビルドされているかは言及していませんでした。これらは追加するのによい細部でしょう。

シンボリックリンクではなく、依存関係管理について調べる必要があります。 @alrocが指摘しているように、一部のプラットフォームではSubversionの機能は動作しません。

あなたは本当にしたくないですsvn:externals。彼らはいつも悪い取引であり、いつも外部が同じレポの何かに解決している。これはかなりカバーされている、The accepted answer hereは始めるのが良い場所です。

私は、Javaアプリケーションのレポ、PHPのもののレポ、おそらくコモンのレポがあることをお勧めします。

ビルド(ジャワ)及び(PHP)を展開はその後どうなります[のリポジトリ(私はあなたがネクサスまたはartifactoryに見てお勧めします)

+0

これはいくつかのpngs、jsとcssです。私はPHPとJSPで使用されるいくつかのHTMLページを構築していますので、それらをそれぞれ独自のフォルダにある単一のSubversionプロジェクトに保存します。これらの静的ファイルを複製したくありません。 – Hikari

関連する問題