Y a-t-il un moyen de valider uniquement une liste de fichiers spécifiques (par exemple un seul de la liste de fichiers que SVN veut valider). Je travaille sur MAC OS X sous Terminal, sans interface utilisateur.SVN Valider des fichiers spécifiques
Répondre
Bien sûr. Lister simplement les fichiers:
$ svn ci -m "Fixed all those horrible crashes" foo bar baz graphics/logo.png
Je ne suis pas au courant d'un moyen de lui dire d'ignorer un certain ensemble de fichiers. Bien sûr, si les fichiers que vous ne souhaitez engager sont facilement répertoriés par le shell, vous pouvez l'utiliser:
$ svn ci -m "No longer sets printer on fire" printer-driver/*.c
Vous pouvez également la commande svn lire la liste des fichiers à livrer à partir d'un fichier:
$ svn ci -m "Now works" --targets fix4711.txt
vous essentiellement mettre les fichiers que vous souhaitez engager sur la ligne de commande
svn ci file1 file2 dir1/file3
donc, fondamentalement, je devrais nommer les fichiers explicitement? je ne peux pas dire ne touchez pas ce fichier en particulier? – 0100110010101
si exécuté sans arguments svn valide tous les fichiers modifiés si exécuté avec un fichier comme argument ce fichier est validé si exécuté avec un répertoire tous les fichiers modifiés dans le répertoire sont validés – Wienczny
Outre la liste des fichiers explicitement comme indiqué par unwind et Wienczny, vous pouvez configurer des listes de modifications et les vérifier. Ils vous permettent de gérer des ensembles de modifications disjoints dans la même copie de travail. Vous pouvez lire à leur sujet dans le online version of the excellent SVN book.
essayer ce script ..
#!/bin/bash
NULL="_"
for f in `svn st|grep -v ^\?|sed s/.\ *//`;
do LIST="${LIST} $f $NULL on";
done
dialog --checklist "Select files to commit" 30 60 30 $LIST 2>/tmp/svnlist.txt
svn ci `cat /tmp/svnlist.txt|sed 's/"//g'`
Ailerons de fourches. Merci ! –
En raison de mon état de subversion, je devais faire preuve de créativité. svn st
a montré M
, A
et ~
états. Je ne voulais M
et A
donc ...
svn st | grep ^[A\|M] | cut -d' ' -f8- > targets.txt
Cette commande dit trouver toutes les sorties lignes par svn st
qui commencent par M
ou A
, découpé à l'aide delimiter espace, puis obtenir 8 à colums la fin. Videz-le dans targets.txt et remplacez-le.
Puis modifiez targets.txt pour élaguer la liste de fichiers plus loin. Ensuite, exécutez ci-dessous pour commettre:
svn ci -m "My commit message" --targets targets.txt
Probablement pas l'utilisation le plus courant, mais nous espérons que cela aide quelqu'un.
Vous pouvez également utiliser 'grep -v '^ ~'' pour mettre sur liste noire ce que vous voulez. –
Utilisez les listes de modifications. L'avantage par rapport à la spécification des fichiers est que vous pouvez visualiser et confirmer tout ce que vous voulez réellement inclure avant de valider.
$ svn changelist fix-issue-237 foo.c
Path 'foo.c' is now a member of changelist 'fix-issue-237'.
Cela fait, svn garde maintenant les choses séparées pour vous. Cela aide lorsque vous jonglez avec plusieurs 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"
+1 pour la réponse ponctuelle. Les changelistes sont vraiment la voie à suivre! –
Si vous souhaitez ajouter de nouveaux répertoires à une liste de modifications, n'oubliez pas d'utiliser svn add en premier, puis utilisez 'svn liste-chang-fix-237 --recursive chemin/vers/répertoire' –
Actuellement, les listes de modifications ne peuvent pas être utilisées avec de nouveaux répertoires .... "Subversion ne supporte pas actuellement l'utilisation des listes de changements avec les répertoires." –
Je fais un (sous) dossier nommé « cacher », déplacez le fichier que je ne suis pas veulent engagé à y. Puis faites mon commit, en ignorant la plainte sur le fichier manquant. Ensuite, déplacez le fichier caché de cacher à./
Je ne connais aucun inconvénient à cette tactique.
- 1. SVN fusionner des fichiers
- 2. Forcez la subversion à ne pas fusionner des fichiers spécifiques
- 3. Subversion: valider uniquement les fichiers modifiés
- 4. Comment envoyer des fichiers CSV à des courriels spécifiques?
- 5. Fichiers de configuration contenant des paramètres spécifiques à l'environnement
- 6. script shell pour lier des fichiers spécifiques d'un niveau
- 7. SharpZipLib ~ Comment extraire des fichiers spécifiques d'un zip
- 8. fichiers Vsssc et Vssscc - utile pour SVN?
- 9. Fichiers SVN et en lecture seule
- 10. script pour ajouter des fichiers à SVN avec des filtres
- 11. Maven: Valider un seul artefact dans le référentiel svn
- 12. méthodes pour stocker des fichiers binaires dans SVN
- 13. Ajouter des fichiers à un svn repo déjà configuré
- 14. Utiliser svn: ignore pour ignorer tout sauf certains fichiers
- 15. Erreur de validation SVN après la suppression de fichiers localement
- 16. Copier des liens sortants spécifiques
- 17. Commettre des binaires sur SVN
- 18. Limiter l'accès aux fichiers d'utilisateurs spécifiques dans IIS
- 19. SVN: Liste tous les fichiers archivés
- 20. Ignorer certains fichiers de la validation SVN
- 21. Supprimer tous les fichiers de svn repository
- 22. Pourquoi Subversion ne permet-il pas de valider les fichiers .htaccess?
- 23. Commettre parties spécifiques d'un fichier dans Git
- 24. outil préexistant pour valider les noms de fichiers et formats
- 25. SVN - Récupération des informations utiles
- 26. Visual Studio & SubVersion: Qu'en est-il des fichiers spécifiques aux machines
- 27. Où placer des fichiers javascript spécifiques à une vue dans une application ASP.NET MVC?
- 28. Comment faire pour supprimer des caractères spécifiques à partir de noms de fichiers en utilisant BASH
- 29. Utiliser des fichiers de langue spécifiques au domaine dans le projet C++
- 30. Remplacer des caractères non imprimables spécifiques dans les fichiers volumineux de la ligne de commande Linux
donc, fondamentalement, je devrais nommer les fichiers explicitement? je ne peux pas dire ne touchez pas ce fichier en particulier? – 0100110010101
vous pourriez faire: svn st | Cut -c 9-> targets.txt, puis modifiez le fichier targets.txt pour supprimer le fichier spécifique et utilisez le paramètre --targets pour spécifier la liste de fichiers. – rein
Je pense que mon nouveau défi est de * créer * un bug qui met le feu à l'imprimante. –