2010-09-23 4 views
6

Je reçois l'erreur suivante, si je tente de renommer ma classe:Xcode et SVN: ne peut pas renommer ma classe -> Erreur: 155007 (chemin d'accès n'est pas un répertoire de copie de travail)

Error During Rename

Error: 155007 (Path is not a working copy directory) Description: Path 'xxx/Classes/MyClass.h' is not a directory

Le changement de nom ressemble à ceci: MyClass.h -> MYClass.h

Peut-être que c'est le problème?

J'ai fait une première importation dans mon répertoire SVN. Cela fonctionne jusqu'à présent (suppression, validation, etc.) La seule chose qu'il ne peut pas faire est de renommer une classe.

J'ai essayé:

4.Now delete your local copy (or move it to another location just in case).

5.Finally CHECKOUT the project from subversion (this will create the subversion .svn folders, …).

6.Reselect the subversion repository for this project.

7.Commit the entire project.

Il n'y a également aucun répertoire build dans le répertoire SVN. La seule chose qui ressort est que je ne vois aucun dossier .svn. J'utilise Xcode 3.2.3. Le fichier que j'essaie de renommer/refactor est dans le dossier classes. J'ai essayé de supprimer un fichier du dossier classes et cela a fonctionné!

J'ai lu this. J'ai également trouvé un problem similaire. Mais il n'y a pas de solution disponible jusqu'à présent.

Répondre

7

J'ai juste eu le même problème et Google m'a dirigé vers cette question, alors je m'excuse pour la réponse tardive.

De toute façon, je travaille sur eclipse 3.5, mac osx snow léopard, et vous semblez aussi travailler sur mac os x (xcode)? Le fait est que mac osx 'hfs + -filesystem est la plupart du temps configuré sans tenir compte de la casse, donc puisque vous essayez seulement de changer la casse de vos noms de fichiers cela pourrait être votre problème.

La solution pour moi était d'effectuer le changement de nom de foo.h à foo.h comme:

  • foo.h -> FooBar.h
  • FooBar.h -> .h

(NB: actuellement, tous les fichiers renomme dans lequel seuls les changements de cas donnent le même problème sur mon système)

+0

Beaucoup plus belle solution! – testing

0

Je ne suis pas sûr de vos étapes de dépannage (où sont les étapes 1 à 3?) Mais, en supposant que:

  1. xxx/MyClass.h est déjà sous contrôle de version
  2. Whey vous dites « Renommer la classe » vous signifie « renommer le fichier »
  3. Vous émettez une commande svn rename

... alors votre copie de travail est probablement corrompu. J'ai déjà souffert de ce problème et il n'y a pas vraiment de solution. Je vous suggère:

  1. Découvrez une copie de travail
  2. copie des modifications en attente (le cas échéant) à l'aide d'un outil de fusion régulière (comme WinMerge ou TortoiseMerge), être extremelly prudent si vous ne copiez pas un répertoire .svn
  3. Engagez
+0

Étape 1 et 2 sont déjà fait (créer projet Xcode et configurer SVN). L'étape 3 est l'importation, ce que j'ai également fait, mais je ne veux pas encore faire de nouvelle importation (je pense que l'importation a réussi et le problème est ailleurs). Oui, je veux dire renommer les fichiers (mais c'est en fait renommer une classe). Je n'émets pas de commande 'svn rename'. Je pense que c'est fait par Xcode, mais je vais essayer ça. J'ai déjà fait cinq nouvelles copies de travail et c'est toujours le même résultat (peut-être y a-t-il un problème avec l'importation mais en commettant et supprimant des travaux?). Je m'inquiète tout le temps, où sont mes dossiers .svn. – testing

+0

Importation? J'espère que vous créez une nouvelle copie de travail * et non un nouveau * référentiel *. Quoi qu'il en soit, assurez-vous que Xcode supporte les renommages de fichiers dans SVN. –

+0

Aucune importation! Copie de travail fraîche le dixième ... Comment puis-je savoir ce que Xcode prend en charge et que ne pas? J'ai expérimenté que Xcode est **** – testing

1

Je pense que le problème est ici MyClass.h ->MyClass.h Il semble que ce n'est pas Supporte d par le SVN ou Xcode ...

Option 1: refactorisation

Option 2: Supprimez le fichier et créer un nouveau

J'ai choisi l'option n ° 2. Je vais essayer de poster une instruction:

  1. Go to SCM > Repositories. Select only one file. Click the Delete button. Do this as often as you need.
  2. Go to your files in Xcode. Make your renaming/refactoring of the names in the files. Then copy content of your files temporary in TextEdit.
  3. Select the files you want to delete in Xcode. Right-Click > Delete.
  4. Create your new Class/Files and copy the content of TextEdit into these files.
  5. Go to SCM > SCM Results. Select all files (inclusive myProject.xcodeproj). Confirm add and delete of the files.
  6. Than make a commit of all changed files.
  7. Press the Reload button in the Repositories window to see if the files are there.

Le processus ressemble à ce qui est décrit ci-dessus. J'ai eu beaucoup de problèmes pour bien faire les choses. J'espère que maintenant c'est correct. Je pense que les instructions ci-dessus ne sont pas correctes à 100%, mais j'ai fait tellement de choses que c'est la seule chose dont je me souvienne. J'espère que cela aidera quelqu'un d'autre.PS: Je pense que l'ajout/la suppression/le renommage ne devrait pas être fait dans Xcode. Seulement des problèmes.

1

Si vous ne me dérange pas d'aller à la ligne de commande, vous pouvez contourner la casse locale avec comme renommage côté erveur:

svn rename repo-URL/FOO.bar repo-URL/foo.bar -m "FOO.bar rename to Foo.bar" 

Juste pour référence: svn move

Questions connexes