2010-04-20 4 views
3

Je veux savoir pour combien de temps la tortue svn conserve l'historique des révisions. Dire que j'ai un fichier que j'ai supprimé du dépôt via le navigateur repo il y a un an, vais-je être en mesure de toujours récupérer ce fichier?Tortoise SVN révision histoire

Si je suis en mesure de récupérer, je veux également connaître la méthode pour supprimer définitivement cette copie antérieure du fichier et l'historique des révisions connexes de sorte qu'à l'avenir, personne ne puisse accéder à ce fichier. C'est possible? J'ai rencontré des problèmes dans mon organisation car j'ai fréquemment effectué des mises à jour et des suppressions en supposant que ce fichier était définitivement supprimé. Le système de fichiers du référentiel a gonflé maintenant. S'il vous plaît suggérer comment le réparer.

+2

Cette question est plus à propos de Subversion que TortoiseSVN (qui est simplement une interface à Subversion). Re-marquer à 'svn'. –

Répondre

1

http://svn.haxx.se/users/archive-2005-05/1040.shtml

Il y a des cas spéciaux où vous pourriez vouloir détruire toutes les preuves d'un fichier ou de commettre. (Peut-être que quelqu'un a accidentellement commis un document confidentiel.) Ce n'est pas si facile, parce que Subversion est délibérément conçu pour ne jamais perdre d'informations. Les révisions sont des arbres immuables qui se construisent les uns sur les autres. Supprimer une révision de l'historique provoquerait un effet domino, créant un chaos dans toutes les révisions suivantes et pouvant invalider toutes les copies de travail. Le projet a toutefois prévu d'implémenter une commande svnadmin obliterate qui accomplirait la tâche de supprimer définitivement les informations. (Voir le numéro 516.) En attendant, votre seul recours est de svnadmin vider votre dépôt, puis rediriger le fichier dump via svndumpfilter (en excluant le mauvais chemin) dans une commande svnadmin load. Voir le chapitre 5 du livre Subversion pour plus de détails à ce sujet.

De http://subversion.apache.org/faq.html#removal

+0

Il dit que nous ne pouvons pas supprimer un fichier de façon permanente. Est-ce qu'il y a un autre moyen? – rahul

+0

C'est difficile à faire. – Svisstack

+0

Y a-t-il un moyen facile? Je ne comprends pas ce qu'il parle de pipe, dump ... etc – rahul

3

Tortise SVN est vraiment juste un moyen facile d'accéder à un dépôt Subversion. Pour citer la FAQ Subversion sur la façon de supprimer définitivement un fichier:

Il y a des cas spéciaux où vous pourriez vouloir détruire toutes les preuves de un fichier ou d'engager. (Peut-être quelqu'un accidentellement commis un document confidentiel .) Ce n'est pas si facile, parce que Subversion est délibérément conçu pour jamais perdre des informations. Les révisions sont arbres immuables qui s'appuient sur un autre . Suppression d'une révision de l'historique provoquerait un effet domino, créant le chaos dans toutes les révisions suivantes et invalidant éventuellement toutes les copies de travail.

Le projet prévoit toutefois de mettre en œuvre un jour un svnadmin oblitérer commande qui accomplir la tâche de façon permanente suppression d'informations. (Voir issue 516.)

En attendant, votre seul recours est à svnadmin décharge votre dépôt, puis redirigez la dumpfile par svndumpfilter (hors le mauvais chemin) dans une charge svnadmin commander. Voir chapter 5 [éd: modifié le lien] du livre Subversion pour détails à ce sujet.

Essentiellement, vous emballer le dépôt entier dans un seul fichier, exécutant une commande de supprimer toute référence à un chemin donné de ce paquet, puis tourner ce paquet en un nouveau référentiel différent. Échangez l'ancien pour le nouveau sur le serveur, et vous êtes prêt à partir. Sauf, comme il le mentionne, toutes les copies de travail de votre client seront probablement invalidées. Et cela nécessite de pouvoir accéder au serveur. Vous utilisez votre propre serveur SVN, n'est-ce pas?

Questions connexes