2010-11-19 7 views
3

J'ai un référentiel SVN sur un serveur distant. Je le mets régulièrement à jour avec les commits de ma machine de développement locale.Synchronisation d'un dossier SVN local supprimé accidentellement

J'ai accidentellement supprimé un sous-dossier du référentiel sur ma machine LOCAL (pas sur le serveur). Maintenant j'ai essayé toutes les choses pour obtenir le dossier du dépôt sur ma machine locale, mais pour une raison quelconque cela ne semble pas fonctionner. En dernier recours, j'ai fait une extraction du sous-dossier supprimé du navigateur Repo. Mais si je valide maintenant à partir d'un dossier parent, les fichiers modifiés du dossier enfant ne sont pas inclus dans le commit, et je dois les valider séparément.

Quelqu'un peut-il me dire comment récupérer un dossier accidentellement supprimé sur machone local du repo SVN ??

Répondre

4

Je ne suis pas en mesure de reproduire ce problème en utilisant TortoiseSVN (juste mentionner cela à cause de tortoisesvn tag)

Je ne vient résoudre un problème similaire sur la ligne de commande. Régulière « svn update » n'apporterait pas le dossier en arrière, mais cela a fonctionné:

rm -rf folder 
svn up folder 

Vous voudrez peut-être vous assurer que vous avez aucun changement local dans le dossier d'abord :-)

+0

Salut Svemir, j'ai aussi été surpris que cela ne fonctionne pas ... Cependant, un peu plus tard, après avoir effectué tous mes changements, je me suis assuré que tous les autres dossiers étaient synchronisés, sont allés dans un dossier parent, a fait une mise à jour. Et ça a marché. Donc, ce problème est résolu maintenant. –

+0

A travaillé parfaitement. Merci! –

1

Effectuez simplement l'action update.

+0

Salut zerkms, je fis une action de mise à jour à plusieurs reprises, mais il n'a pas restauré le dossier après lequel j'ai dû vérifier le dossier que j'ai mentionné a créé un autre repo sous le parent. –

+0

@r_honey: si ce n'est pas le cas - alors il n'y a pas de tel répertoire dans le repo. – zerkms

+0

@r_honey: 'svn dir http: // repo/chemin/vers/dir' - verrez-vous votre répertoire dans ce cas? – zerkms

1

Exécutez un svn update (ou quel que soit l'équivalent dans Tortoise) à partir du dossier censé contenir votre dossier manquant. Il restaurera tous les fichiers non supprimés via un svn delete. Si vous svn delete d du dossier, vous devez svn revert. Je ne sais pas comment vous le feriez dans Tortoise non plus.

+0

Salut xr, comme mentionné en réponse à la réponse zerkms, une mise à jour SVN n'a pas restauré le dossier sur ma machine locale. Il n'a pas été supprimé sur le serveur. –

+0

Si vous pouvez vous le permettre, essayez de renommer le répertoire parent (plutôt que de le supprimer, juste au cas où) et mettez à jour le "grandparent". Cela devrait restaurer le parent et ses enfants, y compris votre élément manquant. Si cela fonctionne, vous pouvez ensuite supprimer le parent renommé. Certains de mes collègues avaient un problème similaire et cela les arrangeait pour eux. –

Questions connexes