Pertanyaan Xcode dan SVN: tidak dapat mengganti nama kelas saya -> Kesalahan: 155007 (Path bukan direktori copy yang berfungsi)


Saya mendapatkan kesalahan berikut, jika saya mencoba mengganti nama kelas saya:

Kesalahan Saat Mengganti Nama

Kesalahan: 155007 (Path bukan direktori copy yang berfungsi) Keterangan: Path 'xxx / Classes / MyClass.h' bukan direktori

Penggantian nama terlihat seperti ini: MyClass.h -> MYClass.h

Mungkin itu masalahnya?

Saya telah membuat impor awal ke direktori SVN saya. Ini bekerja sejauh ini (menghapus, melakukan, dll.) Satu-satunya hal yang tidak dapat mengganti nama kelas.

Saya mencoba:

4. Sekarang hapus salinan lokal Anda (atau pindahkan ke lokasi lain untuk berjaga-jaga).

5. Terakhir CHECKOUT proyek dari subversi (ini akan membuat subversi .svn   folder, ...).

6.Releksi repositori subversi untuk proyek ini.

7. Komit keseluruhan proyek.

Ada juga tidak build direktori di direktori SVN. Satu hal yang menonjol adalah saya tidak bisa melihat folder .svn. Saya menggunakan Xcode 3.2.3. File yang saya coba ganti nama / refactor ada di folder kelas. Saya mencoba menghapus file dari folder kelas dan berhasil!

saya membaca ini. Saya juga menemukan yang serupa masalah. Tetapi belum ada solusi yang tersedia sejauh ini.


6
2017-09-23 10:47


asal


Jawaban:


Saya baru saja mengalami masalah yang sama dan Google mengarahkan saya ke pertanyaan ini, jadi mohon maaf untuk 'jawaban' terlambat.

Bagaimanapun, saya sedang mengerjakan gerhana 3.5, mac osx macan tutul salju, dan Anda tampaknya juga bekerja di mac os x (xcode)? Intinya adalah, bahwa mac osx 'hfs + -filesystem adalah sebagian besar pengaturan waktu case-insensitively, jadi karena Anda hanya mencoba mengubah kasus nama file Anda, ini bisa menjadi masalah Anda.

Solusinya bagi saya adalah melakukan penggantian nama dari FOO.h menjadi Foo.h sebagai:

  • FOO.h -> FooBar.h
  • FooBar.h -> Foo.h

(N.B. saat ini, semua nama file di mana hanya perubahan huruf saja yang memberikan masalah yang sama pada sistem saya)


7
2018-01-11 11:33



Saya pikir masalahnya ada di sini MyClass.h -> MYClass.h Tampaknya ini tidak didukung oleh SVN atau Xcode ...

Opsi 1: Tanpa refactoring

Opsi 2: Hapus file dan buat yang baru

Saya memilih opsi No. 2. Saya akan mencoba memposting instruksi:

  1. Buka SCM> Repositori. Pilih hanya satu file. Klik tombol Hapus. Lakukan ini sesering yang Anda butuhkan.
  2. Buka file Anda di Xcode. Buat Anda mengganti nama / refactoring nama-nama dalam file. Kemudian salin isi file Anda sementara di TextEdit.
  3. Pilih file yang ingin Anda hapus di Xcode. Klik kanan> Hapus.
  4. Buat Kelas / File baru Anda dan salin isi TextEdit ke dalam file-file ini.
  5. Buka SCM> Hasil SCM. Pilih semua file (termasuk myProject.xcodeproj). Konfirmasikan penambahan dan penghapusan file.
  6. Daripada membuat komit dari semua file yang diubah.
  7. Tekan tombol Reload di jendela Repositori untuk melihat apakah file ada di sana.

Prosesnya seperti yang dijelaskan di atas. Saya memiliki banyak masalah untuk memperbaiki segalanya. Saya harap sekarang sudah benar. Saya pikir instruksi di atas tidak 100% benar, tetapi saya telah melakukan banyak hal bahwa ini adalah satu-satunya hal yang dapat saya ingat. Semoga ini akan membantu orang lain.

PS: Saya pikir menambah / menghapus / mengganti nama tidak boleh dilakukan di Xcode. Hanya masalah.


1
2017-09-23 13:16



Jika Anda tidak keberatan pergi ke baris perintah, Anda dapat bekerja di sekitar ketidaksensitifan kasus lokal dengan mengganti nama sisi server:

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

Hanya untuk referensi: svn bergerak


1
2018-03-07 16:34



Saya tidak yakin tentang langkah pemecahan masalah Anda (di mana ada langkah 1 hingga 3?), Dengan asumsi bahwa:

  1. xxx/MyClass.h sudah di bawah kendali versi
  2. Whey Anda mengatakan "mengubah nama kelas" yang Anda maksud "mengubah nama file"
  3. Anda mengeluarkan a svn rename perintah

... Maka copy pekerjaan Anda mungkin korup. Saya pernah mengalami masalah itu sebelumnya dan tidak ada perbaikan yang sebenarnya. Saya menyarankan Anda:

  1. Lihat salinan kerja baru
  2. Salin perubahan tertunda (jika ada) menggunakan alat penggabungan biasa (seperti WinMerge atau TortoiseMerge), berhati hati sehingga Anda tidak menyalin apapun .svn direktori
  3. Melakukan

0
2017-09-23 11:15