À partir de la page des fonctionnalités de Subversion :
Les liens symboliques peuvent être versionnés.
Les utilisateurs d'Unix peuvent placer des liens symboliques sous contrôle de version. Les liens sont recréés dans les copies de travail Unix, mais pas dans les copies de travail win32.
-
Oui
-
Tant que les autorisations ne sont pas modifiées, cela devrait.
-
Ne fonctionnera pas sur les caisses Windows.
En général, Oui .
Cependant, certains clients ne fonctionnent pas correctement avec les liens symboliques. Subclipse, pour l'IDE Eclipse, crée des répertoires au lieu de liens symboliques.
Il est donc préférable de s'assurer que votre client le fait correctement avant de se lancer dans le développement.
Les liens symboliques ne survivront pas sur une machine Windows, cela peut être un problème.
Sur les machines Windows, les liens symboliques prennent la forme de fichiers d'espace réservé*), par exemple :
style.css
:
link ../www_public/styles.css
*) :ces fichiers ont "svn:special
" propriété avec une valeur de "*
".
Je dois parfois exporter des éléments vers une machine Windows avant de pouvoir déplacer/télécharger le projet sur son serveur de destination.
J'utilise un petit script shell qui fait un travail formidable pour recréer les liens symboliques réels à partir des fichiers d'espace réservé :
#!/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
Ce script part du principe que tous les fichiers commençant par la chaîne "link
" et ne contiennent pas de nouvelles lignes sont des liens symboliques.