Dalla pagina Funzioni di Subversion :
I link simbolici possono essere versionati.
Gli utenti Unix possono inserire collegamenti simbolici sotto il controllo della versione. I collegamenti vengono ricreati nelle copie di lavoro Unix, ma non nelle copie di lavoro Win32.
-
Sì
-
Finché le autorizzazioni non vengono modificate, dovrebbe.
-
Non funzionerà con i checkout di Windows.
In generale, Sì .
Tuttavia, alcuni client non funzionano correttamente con i collegamenti simbolici. Subclipse, per l'IDE Eclipse, crea directory invece di collegamenti simbolici.
Quindi è meglio assicurarsi che il tuo cliente lo stia facendo bene prima di iniziare lo sviluppo.
I collegamenti simbolici non sopravviveranno su una macchina Windows, questo può essere un problema.
Sui computer Windows i collegamenti simbolici assumono la forma di file segnaposto*), ad esempio:
style.css
:
link ../www_public/styles.css
*):questi file hanno "svn:special
" proprietà con valore "*
".
A volte devo esportare materiale su un computer Windows prima di poter spostare/caricare il progetto sul suo server di destinazione.
Uso un piccolo script di shell che fa un ottimo lavoro nel ricreare i collegamenti simbolici effettivi dai file segnaposto:
#!/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
Questo script funziona partendo dal presupposto che tutti i file che iniziano con la stringa "link
" e non contengono newline sono collegamenti simbolici.