2010-08-30 3 views
5

J'essaie de comprendre si nous devons réduire le nombre de développeurs ayant des droits d'administrateur svn.Un fichier peut-il être récupéré après svn delete?

1 - Si un utilisateur de subversion supprime accidentellement et valide la suppression d'un fichier ou d'un dossier, comment le fichier peut-il être récupéré?

2 - Si l'utilisateur subversion a des droits d'administrateur svn, est-ce que svn delete exécuté sur le client se comporte différemment (plus permanent)?

cible: ligne de commande client svn sous Red Hat Enterprise Linux (RHEL) 5,2

+0

Merci pour toutes les bonnes réponses. Je comprends tout ce qu'un client svn fait simplement une nouvelle révision et toutes les révisions précédentes sont toujours accessibles. Mon erreur confondait les droits d'administrateur du serveur svn (puissance destructive) avec les permissions utilisateur svn (non destructives). Assurez-vous simplement que le serveur est sauvegardé. :-) –

Répondre

6

Oui, les données supprimées peuvent être récupérées. Il suffit de déterminer quelle révision a supprimé les informations et de "fusionner" la validation. Quelque chose comme ceci:

svn merge -c -12345 working_copy_path 
svn commit working_copy_path 

Le -12345 signifie "révision de fusion inverse 12345". Notez que subversion elle-même n'a aucun concept d'utilisateurs "administratifs". Les utilisateurs disposent ou non d'autorisations de lecture et/ou d'écriture sur un chemin donné dans le référentiel. Notez également que selon votre accès au référentiel, il se peut qu'il n'y ait aucune autorisation.

+0

Mark, Merci pour votre réponse concise claire et fourni des exemples. J'avais été mal informé sur le concept des utilisateurs svn "administratifs" et leurs dangers. Il semble que le principal danger provient des administrateurs du serveur svn, pas des utilisateurs svn. Je comprends que tout ce qui peut être fait à partir d'un client svn (les droits d'administrateur du serveur ne sont pas connectés à leurs droits d'utilisateur svn) peut être annulé en retournant à une révision précédente. Merci encore, –

+0

@Ed: Vous êtes certainement le bienvenu. – Mark

0
  • 1 - Tout peut être annulée à l'aide SVN. Même une commande rm (ou delete) peut être annulée.
  • 2 - # 1 applique pour tous les utilisateurs
0

checkout Juste une révision où le fichier existait encore:

svn checkout -r <revision> <path to repository> 

Maintenant, vous pouvez ajouter à nouveau le fichier.

+0

Voir mon commentaire sur la réponse de timdev. La fusion inverse de la modification préserve l'historique du (des) fichier (s) en question. – Mark

Questions connexes