SVN checkout ignore le dossier

Puis-je ignorer un dossier sur svn checkout? Je dois ignorer le dossier DOCs à la caisse sur mon serveur de compilation.

edit: Ignorer les externes n’est pas une option. J’ai des externes dont j’ai besoin.

    Vous ne pouvez pas ignorer directement les dossiers lors d’une extraction, mais vous pouvez utiliser des extractions fragmentées dans svn 1.5. Par exemple:

    $ svn co http://subversion/project/trunk my_checkout --depth immediates 

    Cela vérifiera les fichiers et répertoires de votre tronc de projet dans «my_checkout», mais pas dans ces répertoires. Par exemple:

     $ cd my_checkout && ls bar/ baz foo xyzzy/ 

    Ensuite, pour obtenir le contenu de ‘bar’:

     $ cd bar && svn update --set-depth infinity 

    Oui, vous pouvez utiliser SVN 1.6. Vous devrez d’abord effectuer une vérification, puis marquer le dossier pour exclusion, puis supprimer le dossier indésirable.

     svn checkout http://www.example.com/project cd project svn update --set-depth=exclude docs rm -fr docs 

    Désormais, les mises à jour de la copie de travail ne repeupleront pas le dossier de documentation.

    Voir http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/ et http://subversion.apache.org/docs/release-notes/1.6.html#sparse- exclusion de répertoire pour plus de détails.

    À M

    Avec les versions antérieures à 1.5, j’ai constaté que si vous extrayez uniquement le dossier le plus haut et que vous le mettiez à jour de manière sélective, à partir de là, les mises à jour affectent uniquement ce que vous avez extrait. C’est à dire.

     svn co -N foo cd foo svn up -N bar svn up 

    L’indicateur -N rend l’opération non récursive. Ce qui précède ne vérifiera rien d’autre au niveau foo, par exemple. dire qu’il y a un dossier lala , le svn up final ne va pas extraire ce dossier, mais il mettra à jour la bar .

    Mais plus tard, vous pouvez svn up lala et l’append à la caisse.

    Cela fonctionne probablement avec 1.5.

    Ceci est dans le client TortoiseSVN 1.7.1 (peut être disponible dans certaines anciennes versions):

    • SVN checkout -> Sélectionner l’URL du référentiel

    • Cliquez sur “Checkout Items” (sous Checkout Depth) et sélectionnez uniquement les dossiers requirejs!

    Vous pouvez placer le dossier docs dans un référentiel externe, puis utiliser svn checkout --ignore-externals .

    Oui, Subversion 1.5 a une fonctionnalité appelée les caisses Sparse qui peuvent faire exactement ce genre de chose.

    J’ai trouvé cette question en cherchant un moyen de vérifier les sources de WebKit en excluant les tests de régression. J’ai fini avec ce qui suit:

     svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit \ --depth immediates cd WebKit find . \ -maxdepth 1 -type d \ -not -name '.*' \ -not -name '*Tests' \ -not -name 'Examples' \ -not -name 'Websites' \ | (while read SUBDIR; do svn update --set-depth infinity "$SUBDIR"; done) 

    Notez que vous pouvez modifier les exclusions comme bon vous semble, mais il est recommandé d’ignorer le répertoire de travail (qui est déjà à jour) et tous les répertoires .svn.

    J’ai récemment résolu la même tâche. L’idée est d’obtenir la liste immédiate des dossiers / fichiers sous le référentiel d’exclure les entrées dont vous avez besoin, puis extrayez les dossiers restants et mettez à jour les fichiers immédiats, le cas échéant. Voici la solution:

      # Path to the svn repository to be checked out rpath=https://svn-repo.company.com/sw/trunk/ && \ # This files are to be excluded (folders are ending with '/') # this is a regex pattern with OR ('|') between enties to be excluded excludep='docs_folder/tests_folder/|huge_folder/|file1|file2' && \ # Get list of the files/folders right under the repository path filtered=`svn ls $rpath | egrep -v $excludep` && \ # Get list of files out of filtered - they need to be 'uped' files=`echo $filtered | sed 's| |\n|g' | egrep '^.*[^/]$'` && \ # Get list of folders out of filtered - they need to be 'coed' folders=`echo $filtered | sed 's| |\n|g' | egrep '^.*[/]$'` && \ # Initial nonrecursive checkout of repository - just empty # to the current (./) working directory svn co $rpath ./ --depth empty && \ # Update the files svn up $files &&\ # Check out the all other folders finally. svn co `echo $folders | sed "s|\<|$rpath|g"` 

    Passez dans le répertoire de travail source. Copiez les commandes. Coller. Modifiez l'URL et le modèle d'exclusion appropriés. Exécutez la commande.

    Merci,

    Non, ignorer est uniquement pour append des fichiers.
    Vous pouvez utiliser des extractions rares (si vous utilisez svn 1.5)

    Comme quelques autres l’ont mentionné, vous pouvez simplement utiliser les propriétés svn: externals, puis l’option –ignore-externals lors de votre commande. Une chose à noter est que svn: externals n’a pas nécessairement besoin de se référer à un autre repository. Il peut s’agir d’une référence à un autre dossier du même repository.