Subversion の機能ページから :
<ブロック引用>シンボリック リンクはバージョン管理できます。
Unix ユーザーは、シンボリック リンクをバージョン管理下に置くことができます。リンクは Unix 作業コピーで再作成されますが、win32 作業コピーでは再作成されません。
<オール>はい
権限が変更されない限り、変更する必要があります。
Windows チェックアウトでは機能しません。
一般的に、はい .
ただし、シンボリック リンクを正しく処理できないクライアントもあります。 Eclipse IDE の Subclipse は、シンボリック リンクの代わりにディレクトリを作成します。
そのため、開発に着手する前に、クライアントが正しく行っていることを確認することをお勧めします。
シンボリック リンクは Windows マシンでは存続しません。これが問題になる可能性があります。
Windows マシンでは、シンボリック リンクはプレースホルダー ファイルの形式をとります*)。例:
style.css
:
link ../www_public/styles.css
*):これらのファイルには "svn:special
"*
の値を持つ " プロパティ ".
プロジェクトを宛先サーバーに移動/アップロードする前に、Windows マシンにエクスポートする必要がある場合があります。
私は、プレースホルダー ファイルから実際のシンボリック リンクを再作成する際に素晴らしい仕事をする小さなシェル スクリプトを使用します。
#!/bin/sh
grep -lr '^link ' . | while read placeholderfile
do
linecount=`wc -l $placeholderfile | cut -c1`
if [ $linecount -eq 0 ] ; then
linkfile=`cut -c6- "$placeholderfile"`
ln -sf "$linkfile" "$placeholderfile"
echo -e "[\E[32;40mOK\E[37;40m] Replaced $placeholderfile with symlink"
else
echo -e "[\E[31;40mWARNING\E[37;40m] $placeholderfile contains newline(s)"
fi
tput sgr0
done
このスクリプトは、文字列「link
」で始まるすべてのファイルを想定して動作します。 " 改行を含まないものはシンボリック リンクです。