Pulihkan koneksi proyek subversi Eclipse

100

Saya memiliki proyek subversi, yang saya kembangkan menggunakan Eclipse. Saya melakukan pembayaran asli dari repositori svn dari dalam Eclipse. Semuanya baik-baik saja selama beberapa minggu lalu untuk beberapa alasan yang tidak diketahui, Eclipse (khususnya: subclipse di Ganymede) tidak lagi mengakui proyek saya sebagai di bawah kendali svn. Menu konteks tim hanya menampilkan opsi menu dasar "terapkan tambalan" / "bagikan proyek ini". Dari shell, saya masih dapat memperbarui proyek menggunakan alat baris perintah svn, jadi saya tahu bahwa kredensial svn masih berfungsi. Proyek lain di bawah subversi dalam salinan yang sama dari Eclipse masih berfungsi.

Saya menyadari bahwa saya dapat menghapus salinan lokal dan memeriksanya lagi, tetapi saya lebih suka memahami apa yang salah - memperbaiki masalah, daripada menutupi gejalanya. Di mana Eclipse menyimpan pengetahuannya tentang project mana yang berada di bawah kontrol versi? Saya melihat .projectfile dan .settingsdirektori, tetapi tidak dapat melihat penyebutan yang jelas tentang sifat svn atau yang serupa, bahkan dalam proyek yang masih berfungsi dengan baik.

Ian Dickinson
sumber

Jawaban:

124

Jika Anda menggunakan sublipse sebagai penyedia SVN, saya sarankan melakukan hal berikut

Tim -> Berbagi proyek biasanya cukup untuk menghubungkan metadata.

(yaitu, dengan asumsi bahwa file .svn masih ada seperti yang terlihat jika Anda dapat bekerja pada baris perintah).

Semoga ini bisa membantu mengapa ini terjadi, saya tidak tahu

Paul Whelan
sumber
9
Saya memiliki masalah yang sama tetapi jawaban ini tidak membantu saya. Eclipse menawarkan saya untuk membuat proyek baru di Subversion. Tidak ada kemungkinan untuk menghubungkan kembali proyek tersebut.
migu
1
Cara terkonfirmasi untuk melakukan hal ini.
pestaa
1
Terima kasih banyak atas jawaban ini, menghemat banyak waktu saya. Sekarang saya akhirnya bisa memperbarui seluruh set kerja saya.
Cedric Meury
1
Ini berhasil untuk saya (dengan Eclipse Indigo 64-bit, dan Subclipse), terima kasih! Saya hanya ingin menambahkan bahwa komentar "dengan asumsi bahwa file .svn masih ada" mungkin tidak sepenuhnya benar. Yaitu, saya terkejut melihat bahwa, meskipun proyek saya masih terkait dengan repositori saya (seperti yang dikonfirmasi TortoiseSVN) tidak ada direktori .svn di direktori proyek ! Saya selalu berpikir ada direktori seperti itu di setiap direktori yang dikendalikan SVN, tetapi sekarang saya mengerti bahwa bukan itu masalahnya. Bagaimanapun, poin OP adalah bahwa jika direktori masih dalam konfigurasi, maka ini harus berfungsi, tampaknya valid.
Rob Cranfill
1
Bekerja di Subversif juga ... Terima kasih!
jaibatrik
23

Saya menemukan cara mudah untuk mengimpor kembali proyek tersebut

jerigen
sumber
1
Kaulah orangnya ... :) Saya hanya memiliki opsi "Terapkan Patch" dan itu menyelesaikannya ... Mengapa saya tidak memikirkannya :)
IncrediApp
Ya, mengimpor ulang tampaknya yang paling mudah :-)
user942640
Saya juga hanya memiliki opsi menu "Apply Patch". Pengimporan ulang berhasil. Harus ada file konfigurasi di suatu tempat yang menentukan ini. Dalam retrospeksi, saya berharap saya telah mencadangkan ruang kerja konfigurasi yang relevan dan file / folder proyek sehingga saya dapat melihat apa yang berubah. Semoga orang berikutnya yang membaca solusi ini akan melakukannya dan membagikan apa yang berubah.
Pixelstix
7

Hanya melakukan Tim -> Bagikan Proyek (sesuai jawaban atas pertanyaan yang diberikan oleh @Paul Whelan) tidak berhasil untuk saya. Wizard Share Project bertindak seolah-olah proyek tersebut belum ada di SVN (meskipun folder .svn ada untuk proyek saya).

Saya akhirnya menyelesaikan masalah dengan menghapus pengaya Subversif dan JavaHL (melalui Bantuan | Tentang Eclipse | Tombol Detail Penginstalan | tab Perangkat Lunak yang Diinstal | Copot ...), dan kemudian menginstal ulang Subversif. Saat diminta setelah memulai ulang Eclipse, saya memilih untuk memasang konektor SVNKit daripada konektor JavaHL.

Setelah melakukan itu, ketika saya sekali lagi mencoba Team -> Share Project ..., Eclipse dengan benar mengenali bahwa proyek saya sudah ada di SVN, dan berhasil memulihkan koneksi.

Jon Schneider
sumber
Mengapa berbagi proyek? proyek berbagi akan menerbitkan proyek lokal Anda ke server svn, jika Anda memiliki sesuatu secara lokal yang tidak seharusnya masuk ke mesin svn ini mungkin menyebabkan masalah, apa yang ingin dia lakukan adalah untuk mengembalikan koneksi, yang tampaknya tidak mungkin, solusi akan menjadi checkout baru, akhirnya, instal subclipse alih-alih subversif
JBoy
4

Tambahan: ternyata masalah saya terwujud ketika saya memulai Eclipse di luar vpn perusahaan, dengan proyek di ruang kerja yang dilampirkan ke repositori svn di dalam vpn. Untungnya, mengganti plugin svn Eclipse dari subversif ke subclipse benar-benar menyelesaikannya.

Ian

Ian Dickinson
sumber
3

Dari gerhana, saya menutup proyek dan membuka kembali yang menyelesaikan masalah. Semua dengan tautan SVN kembali untuk semua proyek di ruang kerja saya.

Nathan
sumber
1
Saya mencoba proyek tutup dan buka kembali, tetapi ini tidak berhasil untuk saya.
Epu
2

Saya memiliki masalah yang sama dan forum ini membantu saya menemukan jawaban yang benar.

Proyek saya sebelumnya dikonfigurasi menggunakan subclipse. Gerhana baru memiliki subvesif.

Menginstal subclipse membantu saya mendapatkan kembali opsi svn di bawah tim!

Semoga bisa membantu orang lain.

salam

Anshu Prateek

pengguna414944
sumber
Saya tidak dapat menginstal subclipse di kepler. ada solusi?
Vivek
1

Tanpa mengetahui platform apa yang Anda gunakan, saya tidak tahu apakah masalah Anda serupa dengan masalah saya. Namun, saya baru-baru ini (sebenarnya pada dua platform yang berbeda!) Mengalami masalah di mana pembaruan ke Subversive (atau mungkin Eclipse sendiri, tidak jelas) menyebabkan konektor tidak lagi memuat. Tanpa konektor, Subversive tidak dapat terhubung ke proyek. Tetapi Eclipse tidak akan mengunci Anda dari proyek Anda karena itu, itu hanya akan menghapus fungsionalitas terkait SVN.

Lihatlah tampilan Kesalahan, yang merupakan log dari berbagai kesalahan Eclipse (pengecualian kelas-tidak-ditemukan, dll.) Dan lihat apakah ada baris yang terkait dengan komponen Subversif. Sayangnya, saya benar-benar tidak dapat merekomendasikan solusi - pada platform Mac OSX saya, cukup menginstal ulang elemen inti dan konektor Subversive. Di mesin Linux saya (mungkin karena upgrade OS), saya harus menginstal ulang Eclipse sepenuhnya, karena terlalu banyak cruft yang terkumpul sehingga saya dapat menyelidikinya sepenuhnya.

rjray
sumber
1

Dalam rilis Juno dengan Subversif, saya melakukan:

  • File / Impor menampilkan popup Impor.
  • Dari sana, pilih Proyek Umum / Yang Ada di ke Ruang Kerja.
  • Di panel berikutnya, Anda memilih direktori root. Maka itu akan menampilkan semua subdirektori. Semuanya akan dipilih secara default.
  • Batalkan pilihan yang tidak Anda inginkan.

Ini kemudian akan "mengimpor" direktori Anda yang ada, yang dapat digunakan di tempat mereka sudah berada di dalam direktori ruang kerja Anda.

Chelmite
sumber
0

Sama dalam kasus saya: dirs .svn ada di sana, tetapi proyek saya tidak mendukung tindakan svn.

Setelah sedikit dicolek ternyata plugin subversif baru saja hilang setelah gerhana berhenti secara paksa.

Solusinya adalah memasang (ulang) subversif, dan sekarang semuanya baik-baik saja.

Cheers v.

UPDATE: Saya telah mengganti eclipse ke versi baru yang pluginnya belum diinstal, itulah alasan mengapa saya harus menginstalnya dari awal.

tishma
sumber
0

Ini bekerja untuk saya: klik kanan-> TortoiseSVN -> Pengaturan -> Properti Ikon Overlay, Memilih Shell sebagai Cache Status. Klik Ok, Refresh halaman.

ranu
sumber
0

Saya dapat mereproduksi masalah ini dengan andal — ini terjadi saat memeriksa proyek Maven tertentu dengan menjalankan "Check out as Maven Project…" bukan pada folder yang berisi POM itu sendiri tetapi pada direktori induk (seperti "trunk"). Dalam hal ini Subclipse memeriksa proyek tanpa keluhan apa pun, meletakkannya di direktori ruang kerja dengan nama placeholder seperti maven.1424425443350. Di dalam direktori ini, ia membuat subdirektori dengan nama artefak Maven. Ini membingungkan baik Subclipse dan Subversion: Subclipse, seperti yang telah kita lihat, segera lupa bahwa proyek berada di bawah kendali versi, dan jika Anda memanggil svn statusdari baris perintah di maven.1424425443350direktori, itu akan memberi tahu Anda bahwa direktori berada di bawah kendali versi tetapi itu semua file yang dikontrol versi hilang.

Tidak ada solusi yang disajikan dalam jawaban lain yang akan berfungsi jika ini yang menyebabkan Subsclipse melupakan koneksi SVN-nya. Sebagai gantinya, satu-satunya solusi adalah menghapus proyek dan memeriksanya lagi, kali ini memastikan bahwa pembayaran dilakukan pada direktori yang berisi POM daripada beberapa direktori tingkat yang lebih tinggi.

Solusi keseluruhan yang lebih baik adalah jika Subclipse menolak menjalankan "Check out as Maven Project…" pada direktori yang tidak berisi POM, atau untuk menangani kasus yang lebih baik di mana ia mencoba melakukannya dengan mencari subdirektori untuk proyek Maven.

Psikonot
sumber
0

Saya menggunakan dua implementasi SVNKit (1.7.x dan 1.8.x) secara bersamaan dengan versi repositori SVN (1.8.x).

Hasilnya, Tim -> Bagikan proyek ... selalu meminta pesan komit. Jelas, SVNKit 1.7.x digunakan yang tidak kompatibel dengan SVN 1.8.x.

Setelah menghapus SVNKit 1.7.x eclipse menggunakan satu-satunya SVNKit versi 1.8.x yang benar dan semuanya bekerja seperti yang diharapkan.

Thomas Rawyler
sumber