Peringatan file yang hilang muncul setelah peningkatan ke Xcode 4

166

Saya baru-baru ini ditingkatkan ke Xcode 4 (yang merupakan peningkatan besar) tapi sekarang saya mendapatkan beberapa peringatan yang tidak saya dapatkan sebelumnya. Saya telah melihat melalui forum dan posting SO lainnya tetapi belum menemukan cara untuk memperbaikinya.

Peringatan yang saya dapatkan adalah peringatan tingkat proyek untuk file yang hilang. File yang sedang ditampilkan telah dihapus dari tampilan navigator proyek (juga memilih untuk menghapus dari sistem file). Namun sepertinya masih muncul entah bagaimana terhubung ke proyek, meskipun file tidak lagi muncul di navigator Proyek.

Saya telah melihat sekeliling dan tidak menemukan bagaimana saya bisa memberi tahu Xcode bahwa file-file ini hilang, berhenti memberi saya peringatan. Berikut screenshot yang saya dapatkan di Xcode4, tetapi tidak pernah masuk Xcode 3.

Peringatan file tidak ada Xcode 4

Scott
sumber
Jika saya jadi Anda, saya akan selalu mengimpor file Anda ke proyek Anda alih-alih hanya menyimpan tautan ke dalamnya di disk Anda. Ini benar-benar menyelamatkan Anda dari sakit kepala jika Anda memindahkan file di kemudian hari.
sudo rm -rf

Jawaban:

297

Solusi ini terlalu sulit. Masalahnya adalah bahwa Anda telah menghapus proyek dari sistem file tetapi SVN masih berpikir mereka ada di sana. Melepaskan proyek dari SVN akan berfungsi, sama untuk menghapus folder .svn TAPI yang akan menghancurkan repositori Anda!

Jauh lebih mudah untuk membuka konsol, browse ke folder Anda ("cd / pathToYourFolder") dan ketik perintah berikut:

svn delete nameOfMissingFile

Jika nama file Anda yang hilang menyertakan karakter @ (mis.: Karya seni khusus-retina), pastikan nama file tersebut diakhiri dengan simbol @:

svn delete [email protected]@

Untuk repositori GIT:

git rm nameOfMissingFile

Sulthan
sumber
20
Saya memiliki masalah yang sama dan mengatasinya melalui Terminal menggunakan:svn rm --force nameOfMissingFile
ReachWest
1
Ini adalah jawaban yang lebih baik daripada yang ditandai sebagai benar. Menghapus folder SVN dari proyek di bawah kendali SVN bisa menjadi dunia yang sangat menyakitkan. Terbaik untuk menggunakan SVN untuk menyelesaikan masalah. Saya mengikuti jawaban ini untuk menyelesaikan masalah saya sendiri, namun saya memiliki kemewahan Cornerstone. Tetapi sebaliknya keren. Terima kasih :)
jowie
1
Ini sepertinya tidak bekerja untuk saya. Saya akan menambahkan file kembali, dan kemudian menghapusnya, tetapi peringatan yang sama masih muncul di build. Saya bahkan mencoba menambahkan file kembali ke proyek dan kemudian menghapusnya. Masih masalah yang sama.
Yenyi
10
Ini bekerja untuk saya, tetapi saya pertama kali harus membuat file dummy di sana sebelum saya bisa menghapus jika menggunakan svn. Jadi, Anda harus melakukan touch nameOfMissingFile dan kemudian svn delete nameOfMissingFile --force
Maciej Swic
9
Saya juga harus berhenti dan membunuh xcode agar masalah hilang.
Twilite
55

Dalam XCode 4.2. + (Mungkin dalam 4+) Anda dapat menghindari pekerjaan manual dan baris perintah:

  1. Pilih proyek Project Navigator (Perintah - 1)
  2. Pilih File - Sumber Kontrol - Menu Komit
  3. Di panel kiri, di atasnya Anda memiliki tiga ikon, pilih yang di tengah - Tampilan file
  4. Anda akan melihat daftar semua file yang hilang
  5. Pilih semuanya dan klik kanan - Buang perubahan. Ini akan mengembalikan semua file yang dihapus dari server SVN dan menempatkannya di folder SVN lokal Anda
  6. Seret dan taruh file-file itu ke dalam proyek XCode (Pilih Sort-Date Modified in Finder untuk dengan mudah menemukannya)
  7. Hapus file-file itu dengan benar melalui XCode (pilih file dan pilih klik kanan Hapus)
  8. Komit proyek

Dan itu dia :)

Semua peringatan buruk itu hilang!

Selain itu untuk Xcode 6+: Setelah memilih tampilan file 'ikon tengah' - Anda dapat mengklik kotak centang di sebelah kiri dan ini akan menandainya sebagai dihapus untuk SVN ketika Anda selanjutnya berkomitmen!

Alex
sumber
1
Hanya diperlukan hingga langkah 5. Saya tidak benar-benar memiliki file di SVN.
Darren Reely
Saya telah refactored proyek, yang mempengaruhi proyek lain karena beberapa kode bersama, dan XCode mengeluh tentang file yang hilang, terkait dengan SVN. Butuh beberapa saat untuk mencari tahu itu adalah masalah SVN, setelah secara manual menjelajah sumber proyek xml dan tidak menemukan apa pun.
danfordham
50

Di Xcode5 & Xcode6, langkah-langkah di bawah ini berhasil untuk saya

Xcode-> Preferences-> Source Control->uncheck Enable Source Control

kemudian

Xcode-> Preferences-> Source Control->check Enable Source Control

Shamsudheen TK
sumber
Pada Xcode 8.3.2, ini bekerja sekitar sepuluh menit dan kemudian semua peringatan datang kembali :(
Bob
27

Ini ada hubungannya dengan .svn folder tersembunyi di proyek Anda.

Saya memecahkan masalah ini dengan melepaskan proyek dari svn.

Sebuah. Buka terminal dan ketik perintah berikut:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

Ini akan memungkinkan Anda untuk melihat folder .svn di dalam proyek Anda

b. Hapus setiap folder .svn di folder / subfolder proyek Anda

c. Aktifkan kembali file tersembunyi:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

d. Sekarang proyek Anda terlepas dari svn dan Anda tidak lagi mendapatkan masalah pembangunan.

e. Tambahkan kembali proyek Anda ke svn atau apa pun.

Saya sendiri seorang pemula dan ini adalah cara saya menangani masalah itu, jadi saya tidak yakin ini adalah cara terbaik untuk pergi. Lagi pula, masalahnya sudah terpecahkan.

Robert Neagu
sumber
3
Bukan ide yang baik untuk bermain-main dengan folder dan file tersembunyi SVN, Anda bisa berakhir dengan berantakan SVN. Terbaik untuk menggunakan perintah svn delete untuk merapikan file yang hilang.
jowie
Inilah jalan yang akhirnya saya ambil. Ya itu menghapus semua informasi SVN yang disimpan, tetapi itu sebenarnya adalah sesuatu yang orang lain masukkan ke dalam proyek tertentu yang tidak ingin saya simpan. Saya ingin memulai dengan yang baru dan tidak peduli tentang mempertahankan versi tertentu.
Scott
Saya hanya "killall Finder" dengan meluncurkannya kembali. Masalahnya sudah hilang sekarang. Terima kasih
JHHoang
9

Ini bekerja untuk saya:

File-> Source Control->Hide Working Copy Status

kemudian

File-> Source Control->Show Working Copy Status

Tyson
sumber
6

Saya memecahkannya dengan cara berikut:

  1. Periksa jalur ke file yang hilang.
  2. Buat file yang hilang di lokasi yang sesuai dalam direktori proyek Anda
  3. Tambahkan mereka ke proyek Anda menggunakan "Tambah File ke" proyek "" dan buat referensi saja (jangan menyalin file)
  4. Peringatan harus hilang pada saat ini.
  5. Dari dalam Xcode hapus file memastikan Anda mengklik "Hapus" dan bukan "Hapus Referensi Saja" default
  6. Kamu sudah selesai.
askorik
sumber
4

Saya memiliki bug itu dan tidak menemukan cara untuk menyelesaikannya selain membuat file kosong pada posisi itu dan kemudian menghapusnya. Itu terjadi dengan file yang saya hapus dari proyek, dan membersihkan, membangun, menghapus secara manual direktori Derived Data juga tidak berfungsi. Saya percaya ini adalah bug, dan itu bisa sangat menyakitkan jika itu terjadi dengan lebih dari beberapa file.

Jano
sumber
Sedih, berharap ada cara yang lebih mudah untuk mengatasi masalah ini. Saya memiliki sekitar 20 file, jadi membuat dan menghapus akan sangat menyebalkan.
Scott
4

Saya juga punya masalah ini, dan sebagai user151215 menggambarkannya IS karena folder .svn.

Saya punya folder .svn lama, bukan di proyek itu sendiri tetapi di folder induk proyek.

folder .svn yang menyinggung akan memiliki file entri yang berisi file Anda yang hilang. Jadi Anda dapat menggunakan Teminal dan mencari string nama file yang hilang, misalnya grep -lir BagController.m yourRootDevDir / *

lebih sederhana daripada mengaktifkan file tersembunyi di finder, cukup gunakan terminal. cd ke direktori yang relevan, dan mv .svn ~ / .Trash

Semoga ini membantu!

Nick H247
sumber
4

Masuk ke direktori yang sesuai dan jalankan:

svn revert fileName
Shaun McCarthy
sumber
3

Saya menggunakan cara berikut untuk menangani masalah ini:

Luncurkan terminal dan cd ke direktori proyek. (mis: cd / Pengguna / Mauro/Src/Pippero-1.2/)

Kemudian masukkan perintah berikut:

find . -name .svn -exec rm -rf { } \;

perintah akan mencari file (dan folder) secara rekursif yang disebut .svn dan menghapusnya

Mauro Delrio
sumber
ini tidak berhasil untuk saya, tetapi masuk ke setiap direktori dan menghapus folder .svn individual. sangat besar bagimu, saudaraku!
gonzobrains
2

Saya menggunakan svn dan mengelola untuk menyelesaikan masalah ini dengan

svn delete pathToMissingFile

yang akan menghapus salinan svn lokal dari file yang hilang serta salinan di repositori jarak jauh.

atau

svn revert pathToMissingFile

yang akan membuang perubahan pada file yang hilang yang berarti mengembalikan file yang hilang kembali ke tempat sebelumnya.

Jibeex
sumber
1

Semua hal di atas tidak berhasil menyelesaikan masalah yang sama dengan yang saya miliki. Melakukan pencarian, saya mengerti bahwa masalah saya terkait dengan konflik SVN.

Saya menemukan bahwa ada konflik menggunakan baris perintah:

svn status

Maka semua file yang konflik harus diselesaikan

svn resolved filename1 filename2 ...

Setelah konflik diselesaikan, peringatan itu hilang dari Xcode

Grigrigon
sumber
1
  1. Komit dan dorong perubahan Anda.
  2. Mulai ulang Xcode.
unik
sumber
1

Sangat sederhana,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

dan jangan lupa lakukan cmd+shift+k

Kavin Kumar Arumugam
sumber
0

Tekan Cmd + 7 setelah build dan pilih action build terbaru. Apakah ini terlihat seperti Xcode lama yang baik? :) masukkan deskripsi gambar di sini

knuku
sumber
Ya, sepertinya XCode lama, tetapi tidak menyelesaikan masalah dengan XCode baru yang mengatakan bahwa saya memiliki file yang hilang. Saya suka tampilan, tapi ini sepertinya menutupi masalah dengan XCode.
Scott
0

Dalam kasus saya

  1. Saya cukup membuka SvnX.
  2. Semua File yang hilang ditandai dengan warna merah. Pilih dan hapus.
  3. Lalu semua Peringatan Xcode hilang.
Apoc
sumber
0

Jawaban oleh Alex memperbaiki masalah saya tentang file yang hilang.

Saya punya satu masalah lain (meskipun tidak terkait dengan file yang hilang, saya merasa ini akan menjadi topik yang lebih baik)

  1. Saya perlu menyalin satu set gambar ke proyek saya.
  2. Saya cukup membuat grup (walaupun saya tahu grup itu tidak memetakan ke folder fisik) dan menyeret gambar ke dalam grup (pilih opsi "Salin ke ..").
  3. Status SVN menunjukkan semuanya dalam "A".
  4. Sekarang ketika saya masuk ke sistem file yang sebenarnya, saya menemukan bahwa semua gambar di mana disalin ke folder root proyek saya. Karena tidak terlihat baik, saya membuat folder fisik di dalam folder gambar di proyek saya dan menyalin semua gambar yang ditambahkan di sana.
  5. SVN kemudian menunjukkan semua file berwarna merah.
  6. Saya menghapus referensi dari semua file merah.
  7. Dengan opsi "Tambah File", saya kemudian menambahkan gambar dari folder yang baru dibuat.
  8. Sekarang SVN gagal menunjukkan status file sebagai "A", dan tidak mungkin saya bisa memeriksanya.
  9. Mencoba banyak langkah seperti mencemari mereka menambahkan lagi dari folder yang berbeda dll, tetapi tidak berhasil.

Saya memperbaikinya dengan masuk langsung ke repositori, membuat direktori baru di bawah gambar sehingga folder fisik sekarang di server SVN

Saya kemudian mengambil pembaruan dari sumbernya, dan mendapat direktori yang baru dibuat di dalam copy pekerjaan saya (meskipun tidak ditambahkan ke proyek).

Saya kemudian menyalin gambar ke direktori itu dan menambahkannya ke proyek menggunakan opsi "Tambah File", yang membawa saya kembali ke status "A" dan saya dapat memeriksa dalam file.

Hanya ingin membagikan ini ..... karena butuh banyak waktu dari saya.

-Tidak

anoop4real
sumber
Dalam hal ini, pergi ke Terminal dan ke root proyek Anda. Buat folder dengan "svn mkdir name_of_the_folder". Seret & Jatuhkan file dengan Finder dari name_of_the_folder ke Proyek Anda (atau folder itu sendiri untuk menambahkan semua file). Masalahnya adalah ketika Anda membuat folder tanpa folder "svn mkdir" tidak ditambahkan ke SVN.
Alex
0

Jangan hapus file secara langsung di folder .xcode Anda. Hapus file dari navigator proyek xcode. (Klik kanan pada file itu dan pilih pindah ke tempat sampah).

Sekarang, Untuk menghapus masalah ini tambahkan file yang sama di lokasi yang sama. Dan hapus dari navigator proyek.

Gowtham R
sumber
0

Saya tidak perlu melakukan apa pun. Saya melakukan kode saya dan mendorongnya. Matikan XCODE. Menariknya lagi dan semuanya bekerja.

VBaarathi
sumber
0

Gambaran:

Dalam kasus saya ada Proyek xcode yang dipanggil Sampledi jalur folder berikut /folder1/folder2.

Ada .gitfile di dalam /folder1/folder2/Sample/yang diharapkan.

Penyebab utama:

Ada .gitfile lain di direktori induk ( /folder1) yang menyebabkan masalah. Folder mungkin telah dihapus meninggalkan .gitfile

Larutan

rm -rf /folder1/.git

Petunjuk

Jika memindahkan proyek Anda ke lokasi yang sama sekali baru memperbaiki masalah di mana tidak ada .gitfile di direktori induk naik hierarki maka itu adalah petunjuk bahwa solusi di atas bisa bekerja.

pengguna1046037
sumber