J'ai un répertoire de travail SVN. J'ai apporté quelques modifications dans ce répertoire, et cela apparaît svn status
. Mais y a-t-il un moyen pour moi de supprimer toutes mes modifications et de tout récupérer du tronc en utilisant la ligne de commande?
195
J'ai utilisé une combinaison de réponses d'autres personnes pour trouver cette solution:
Annuler les modifications SVN locales normales
Supprimez toute autre modification et prend en charge la suppression de fichiers / dossiers avec des espaces, etc.
N'oubliez pas d'obtenir les derniers fichiers de SVN
la source
la source
svn cleanup . --remove-ignored
Si vous n'avez aucun changement, vous pouvez toujours être très minutieux et / ou paresseux et faire ...
Mais non, ne faites pas ça à moins d'être vraiment sûr que l'option nuke-from-space est ce que vous voulez !! Cela a l'avantage de neutraliser également tous les fichiers de construction, les fichiers temporaires et les choses que SVN ignore.
La solution la plus correcte consiste à utiliser la commande revert:
Le -R fait que subversion récursive et rétablit tout dans et en dessous du répertoire de travail actuel.
la source
svn nuke-from-space
Aucune des réponses ici n'était tout à fait ce que je voulais. Voici ce que j'ai trouvé:
Testé sur Linux; peut fonctionner dans Cygwin, mais repose sur (je crois) une extension spécifique à GNU qui permet aux xargs de se diviser en fonction de la
'\0'
place de l'espace.L'avantage de la commande ci-dessus est qu'elle ne nécessite aucune activité réseau pour réinitialiser le sandbox. Vous obtenez exactement ce que vous aviez auparavant et vous perdez tous vos changements . (avertissement avant que quelqu'un ne me reproche ce code qui détruit leur travail) ;-)
J'utilise ce script sur un système d'intégration continue où je veux m'assurer qu'une construction propre est effectuée après l'exécution de certains tests.
Edit : je ne suis pas sûr que cela fonctionne avec toutes les versions de Subversion. Il n'est pas clair si la
svn status
commande est toujours formatée de manière cohérente. Utilisez à vos risques et périls, comme avec toute commande qui utilise une tellerm
commande de couverture .la source
svn revert annulera toutes les modifications locales que vous avez apportées
la source
Vous pouvez utiliser la commande suivante pour annuler toutes les modifications locales:
la source
Supprime tout fichier qui a été modifié. Je me souviens avoir eu du mal à revenir lorsque des fichiers et des répertoires peuvent avoir été ajoutés.
la source
svn revert
la source
Si vous êtes sous Windows, la boucle for suivante annulera toutes les modifications non validées apportées à votre espace de travail:
Si vous souhaitez supprimer toutes les modifications non validées et tous les objets non versionnés, il faudra 2 boucles:
la source