Parlons de votre projet
Shell SVN

SVN : Faire un ajout récursif en shell

Pour ajouter récursivement des fichiers en ligne de commande avec svn nous avons plusieurs possibilités.La premiere, sans doute la plus clean : svn add --force * --auto-props --parents --depth infinity -q Bien que seule les options suivantes ...

SVN : Faire un ajout récursif en shell



Pour ajouter récursivement des fichiers en ligne de commande avec svn nous avons plusieurs possibilités.

La premiere, sans doute la plus clean :

svn add --force * --auto-props --parents --depth infinity -q

Bien que seule les options suivantes semblent vraiment necessaires :

svn add --force *

Il y a ensuite des solutions alternatives un peu plus compliqués à comprendre :

svn status | grep '?' | sed 's/^.* /svn add /' | bash
svn add `svn status .|grep "^?"|awk '{print $2}'`
svn st | grep "^\?" | awk "{print \$2}" | xargs svn add $1

Ainsi qu’une solution qui permet de prendre en compte les fichiers contenant des espaces (non recommandé :p)

svn status| grep ^? | while read line ; do  svn add "`echo $line|cut --complement -c 1,2`" ;done

Précautions avant d’exécuter la commande

Ce tutoriel conserve la commande et le contexte de sa publication. Avant de l’utiliser sur un dépôt actuel, inspectez la branche, les fichiers modifiés et la cible exacte :

git status --short
git log --oneline --decorate -5

Créez une branche ou un tag de sauvegarde lorsque l’opération réécrit l’historique ou supprime des fichiers. En particulier, git reset --hard écrase les modifications suivies du répertoire de travail.

Référence : documentation officielle de git reset.

Partager cet article