2010-11-25 6 views
0

J'ai un projet dans un svn avec externals, par exempleprotéger svn externals

 
- myproject 
| 
|--------stuff1 
|--------stuff2 
|--------external-lib // svn::external 

Je dois ajouter un fichier (un Makefile) dans le répertoire externe-lib, je veux commint à l'intérieur mon référentiel (myproject), pas le référentiel externe. Il est très important de ne pas modifier le référentiel externe. C'est possible? Je veux utiliser la révision de la tête du référentiel externe.

+0

Le chemin svn externe, contient-il des fichiers ou seulement des répertoires? – jgifford25

+0

@ jgifford25: fichiers et répertoires –

Répondre

1

Je suggère de stocker le Makefile directement dans myproject. Ensuite, vous pouvez l'exécuter à partir de-lib externe à l'aide

make -f ../Makefile.external 
0

Ce que vous voulez est impossible, sauf si vous créez une branche du référentiel externe dans votre propre et d'un fossé le svn: externals tout à fait. Bien sûr, cela signifierait que vous devez maintenir des mises à jour de la lib externe, en la fusionnant (ce qui pourrait être probablement automatisé relativement facilement, puisque vous ne modifiez rien d'autre que l'ajout de ce fichier).

Cela dit, la solution de Martin semble que le chemin de moindre résistance dans votre cas ...

0

Sur la base de la réponse à mon commentaire sous votre question, si votre serveur et le client (s) utilisent 1.6.x Subversion , tu peux le faire. Avec Subversion 1.6.x, le support des externals pour le fichier est maintenant disponible. Donc, pour chaque fichier et répertoire contenu dans le chemin svn :: external, vous devrez créer et entrer dans la propriété svn: externals pour le répertoire myproject.

La propriété svn: externals ressemblera à quelque chose comme ceci:

^/external-lib/file1 file1 
^/external-lib/directoryA directoryA 
^/external-lib/file2 file2 
^/external-lib/directoryB directoryB 

Vous pouvez en savoir plus sur svn: externals ici: http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html

Maintenant, tant que-lib externe et myProject existent dans Dans le même référentiel, les copies de travail vous permettront de valider les modifications apportées aux fichiers et répertoires dans external-lib.

Questions connexes