Existe-t-il un moyen de ne commettre qu'une liste de fichiers spécifiques (par exemple, un seul des fichiers de la liste que SVN veut commettre).
Je travaille sur MAC OS X sous Terminal, sans aucune interface utilisateur.
Existe-t-il un moyen de ne commettre qu'une liste de fichiers spécifiques (par exemple, un seul des fichiers de la liste que SVN veut commettre).
Je travaille sur MAC OS X sous Terminal, sans aucune interface utilisateur.
Bien sûr. Faites juste la liste des fichiers :
$ svn ci -m "Fixed all those horrible crashes" foo bar baz graphics/logo.png
Je ne connais pas de moyen de lui dire d'ignorer un certain nombre de fichiers. Bien sûr, si les fichiers que vous voulez livrer sont facilement listés par le shell, vous pouvez l'utiliser :
$ svn ci -m "No longer sets printer on fire" printer-driver/*.c
Vous pouvez également demander à la commande svn de lire la liste des fichiers à livrer à partir d'un fichier :
$ svn ci -m "Now works" --targets fix4711.txt
Utilisez les listes de modifications. L'avantage par rapport à la spécification des fichiers est que vous pouvez visualiser et confirmer que tout ce que vous vouliez est effectivement inclus avant de valider.
$ svn changelist fix-issue-237 foo.c
Path 'foo.c' is now a member of changelist 'fix-issue-237'.
Ceci fait, svn garde maintenant les choses séparées pour vous. Cela aide lorsque vous jonglez avec de multiples changements.
$ svn status
A bar.c
A baz.c
--- Changelist 'fix-issue-237':
A foo.c
Enfin, dites-lui de valider ce que vous vouliez changer.
$ svn commit --changelist fix-issue-237 -m "Issue 237"
En raison de mon état de subversion, j'ai dû faire preuve de créativité. svn st
a montré M
, A
y ~
statuts. Je voulais seulement M
y A
donc...
svn st | grep ^[A\|M] | cut -d' ' -f8- > targets.txt
Cette commande permet de trouver toutes les lignes produites par svn st
qui commencent par M
o A
coupez en utilisant le délimiteur d'espace, puis récupérez les colonnes 8 à la fin. Mettez-le dans le fichier targets.txt et écrasez-le.
Puis modifiez le fichier targets.txt pour élaguer davantage la liste des fichiers. Puis exécutez la commande ci-dessous pour valider :
svn ci -m "My commit message" --targets targets.txt
Ce n'est probablement pas le cas le plus courant, mais j'espère que cela aidera quelqu'un.
En plus de lister les fichiers explicitement comme indiqué par Détendez-vous y Wienczny vous pouvez établir des listes de modifications et les vérifier. Celles-ci vous permettent de gérer des ensembles disjoints de modifications sur la même copie de travail.
Vous pouvez les lire dans le version en ligne de l'excellent livre SVN .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.