2010-11-30 24 views
3

Si une copie de travail de Subversion est un check-out partiel d'un dépôt, en utilisant --depth et/ou --set-depth (peut-être avec exclude), est-il un moyen de révéler les nœuds qui sont « portés disparus » (soit récursive ou non récursive)? Je ne veux pas manquer dans le sens de svn status et ! où un nœud a été extrait mais supprimé localement sans dire SVN. Je veux plutôt dire un noeud dans le référentiel qui n'a pas été extrait du dépôt à l'origine, ou a été exclu plus tard.SVN peut-il afficher des informations relatives à une extraction partielle?

svn info peut être utilisé pour montrer la profondeur d'un nœud.

ls ou dir peut être comparé à svn ls. (ls -r BASE ne fonctionne pas comme je m'attendrais à obtenir une liste de copie de travail.)

svnversion indique que le WC est partiel avec un «P».

(Il semble y avoir aucune option --dry-run à utiliser conjointement avec --set-depth pour svn update. De même svn diff -rBASE:HEAD --depth=immediates ne produit pas l'information que je cherche non plus.)

Y at-il une méthode directe? Ce serait bien d'avoir une liste de nœuds 'éligibles' disponibles pour la caisse ou la mise à jour.

Merci.

Répondre

4
svn ls --depth immediates . 

montrera les fichiers enfants et les dossiers du dossier en cours, même si elles n'ont pas été vérifiés.

Diffing que la sortie de ls -1 la liste des cède fichiers/dossiers non vérifiés-out:

svn ls --depth immediates . > immediates.txt 
ls -1 > checkedout.txt 
diff immediates.txt checkedout.txt 
+0

Merci pour la réponse. Cela ne me donne pas tout à fait ce que je veux. Tout d'abord, je voudrais rester dans les sous-commandes SVN plutôt que de dépendre de n'importe quel shell qui arrive à être installé, d'autant plus que cela peut parfois être Linux et parfois DOS. Deuxièmement, j'aimerais pouvoir exclure simplement les articles que je possède déjà localement. D'un autre côté, votre commande SVN me donne presque ce que je veux.J'ai accepté sur cette base; Je ne pense pas que SVN puisse faire ce que je voudrais. (Encore.) – Rhubbarb

0

Peut être que je comprends mal, mais

svn update 

a une option --set profondeur pour que vous puissiez modifier une copie de travail à un nouveau niveau.

+0

Non, je ne veux pas changer la profondeur, mais simplement d'interroger quels éléments supplémentaires sont disponibles pour la caisse par rapport à ce qui est actuellement dans la copie de travail. Merci quand même. – Rhubbarb

0

Si nous avions ce chemin du référentiel,

ROOT 
    |--trunk 
    | |-- index.php 
    | `-- app 
    |--tags 
    `--branches 

Cette commande vous montrer quels fichiers (ou répertoire) sont des enfants de votre noeud ROOT.

svn ls --depth immediates URL/to/ROOT/ 

Sortie:

trunk/ 
tags/ 
branches/ 

en utilisant la sortie, vous pouvez mettre à jour chaque nœud en utilisant

svn update --set-depth=infinity trunk/