web-dev-qa-db-fra.com

Que fait réellement un nettoyage TortoiseSVN?

Que fait réellement un nettoyage TortoiseSVN?

Je n'ai pas trouvé de modèle, mais on me demande fréquemment de faire un "nettoyage" tout en essayant de valider du code.

Si TortoiseSVN sait quand il est sale, pourquoi ne lance-t-il pas lui-même un nettoyage?

55
John Bubriski

Edit: Je pense que ce n'est pas automatique car il doit abandonner les opérations et déverrouiller la copie de travail dans/path.

Livre de Subversion:

Nettoyez récursivement la copie de travail, supprimez les verrous et reprenez les opérations inachevées. Si jamais vous obtenez une erreur de copie de travail verrouillée, exécutez cette commande pour supprimer les verrous périmés et remettre votre copie de travail dans un état utilisable. ”Notez que dans ce contexte, le verrouillage fait référence au verrouillage du système de fichiers local et non au verrouillage du référentiel.

C'est essentiellement un moyen d'essayer de récupérer les erreurs qui se produisent avec SVN.

Documentation sur le nettoyage:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-cleanup.html

"Si une commande Subversion ne peut pas aboutir, peut-être en raison de problèmes de serveur, votre copie de travail peut être laissée dans un état incohérent. Dans ce cas, vous devez utiliser TortoiseSVN → Nettoyage sur le dossier. C'est une bonne idée de le faire sur le niveau supérieur de la copie de travail.

Le nettoyage a un autre effet secondaire utile. Si la date d'un fichier change mais que son contenu ne change pas, Subversion ne peut pas dire s'il a vraiment changé, sauf en effectuant une comparaison octet par octet avec la copie vierge. Si vous avez beaucoup de fichiers dans cet état, l'acquisition de l'état est très lente, ce qui ralentit la réponse de nombreuses boîtes de dialogue. L'exécution d'un nettoyage sur votre copie de travail réparera ces horodatages "cassés" et restaurera les vérifications d'état à pleine vitesse. "

36
Andrew

Il place du ruban adhésif sur les bogues et une architecture stupide dans SVN qui permettent à la copie de travail d'être corrompue.

Ce n'est pas automatique pour des raisons d'architecture stupide et parce qu'il faut TOUJOURS. Bien sûr, lorsque SVN est devenu populaire, son architecture était très en avance sur CVS .

19
Dustin Getz

Il recherche des incohérences. De les docs :

Si une commande Subversion ne peut pas aboutir, peut-être en raison de problèmes de serveur, votre copie de travail peut être laissée dans un état incohérent. Dans ce cas, vous devez utiliser TortoiseSVN → Cleanup sur le dossier. C'est une bonne idée de le faire au niveau supérieur de la copie de travail.

Le nettoyage a un autre effet secondaire utile. Si la date d'un fichier change mais que son contenu ne change pas, Subversion ne peut pas dire s'il a vraiment changé, sauf en faisant une comparaison octet par octet avec la copie vierge. Si vous avez beaucoup de fichiers dans cet état, l'acquisition de l'état est très lente, ce qui ralentit la réponse de nombreuses boîtes de dialogue. L'exécution d'un nettoyage sur votre copie de travail réparera ces horodatages "cassés" et rétablira les vérifications d'état à pleine vitesse.

7
Ben S