2011-04-08 4 views
1

Je joue actuellement dans IDE: zend studio, qui embarque svn tool, mais je pense que ça devrait être pareil avec eclipse, et même svn tool lui-même.Comment réparer ce problème en utilisant svn?

On suppose qu'il ya un répertoire A dans le svn, procédez comme suit pour reproduire:

  1. renomme A comme A2 (hors IDE), puis rafraîchir A dans IDE, et il disparaît
  2. répertoire parent de rafraîchissement de A2, nommé P dans IDE, puis A2 apparaît
  3. renomme A2 Retour à A, puis rafraîchir P, il rapporte: Problems occured refreshing the selected resources: A2/.svn [in <project root>] does not exist

Comment résoudre ce problème maintenant?

Répondre

2

Ce n'est en fait pas ainsi que le SVN est censé fonctionner. Les modifications apportées aux structures de répertoires, aux fichiers, etc. contenus dans un SVN doivent être effectuées via l'IDE ou une autre application compatible SVN, et non sur le système de fichiers lui-même (c'est-à-dire via l'explorateur Windows). SVN suit les changements apportés à son système de fichiers, et lorsque vous travaillez sur le "contrôleur" SVN, tout est désynchronisé.

+0

Comment puis-je récupérer manuellement quand il est désynchronisée? J'ai essayé de le remplacer par référentiel, mais ne fonctionne toujours pas ... –

1

Josh est correct. Il est absolument essentiel lorsque vous déplacez ou renommez un fichier dans un référentiel SVN que vous devez utiliser SVN pour le faire. Svn move et svn rename (ce dernier étant un alias pour le premier) ont une syntaxe très simple. TortoiseSVN prend également en charge l'opération. De cette manière, la prochaine fois qu'un autre utilisateur essaie d'effectuer une opération SVN, le programme verra que le référentiel a changé. Si vous ne dites pas au référentiel quand la structure change, vous allez le confondre comme ça.

Pour résoudre le problème, je voudrais:

  1. Découvrez une toute nouvelle copie de votre référentiel.
  2. Copiez le dossier (A ou A2) hors du référentiel pour enregistrer vos données.
  3. Svn delete A ou A2.
  4. Svn commit.
  5. Copiez A ou A2 dans le référentiel.
  6. Svn add A ou A2.
  7. Svn commit.
+0

Depuis svn restaure toutes les informations dans le droit système de fichiers, je suppose qu'il peut y avoir une solution qui peut résoudre le problème en modifiant certains fichiers? –

+0

Je ne sais pas. Je ne plaisante jamais avec les répertoires .svn ou le dépôt directement. Je considère que c'est trop risqué d'essayer de le faire. –

+0

C'est vraiment horrible s'il n'y a aucun moyen de se remettre d'une erreur ... –

Questions connexes