Metadata seharusnya tidak dikelola dalam kontrol sumber. Sebagian besar berisi data yang relevan dengan ruang kerja Anda .
Satu-satunya pengecualian adalah .launch
file XML (definisi peluncur).
Mereka ditemukan di
[eclipse-workspace]\.metadata\.plugins\org.eclipse.debug.core\.launches
Dan mereka harus disalin ke direktori proyek Anda: Ketika proyek Anda di-refresh, konfigurasi itu akan ditampilkan dalam dialog "Run configuration".
Dengan begitu, file-file parameter peluncuran tersebut dapat juga dikelola ke dalam SCM.
(Peringatan: Hapus centang opsi "Hapus konfigurasi saat sumber daya yang terkait dihapus" di panel preferensi Run / Launching / Launch Configuration : Adalah umum untuk menghapus-lunak suatu proyek untuk mengimpornya kembali - untuk memaksa reinitialization dari metadata eclipse. Tetapi opsi ini, jika dicentang, akan menghapus parameter peluncuran terperinci Anda!)
project-dir/.project
project-dir/.classpath
project-dir/.settings/*
harus ada dalam SCM Anda (terutama .project
dan .classpath
sesuai dengan dokumentasi Eclipse ).
Tujuannya adalah siapa pun dapat checkout / memperbarui ruang kerjanya SCM dan mengimpor proyek Eclipse ke ruang kerja Eclipse.
Untuk itu, Anda hanya ingin menggunakan jalur relatif di .classpath Anda, menggunakan sumber daya yang ditautkan .
Catatan: lebih baik jika project-dir
merujuk ke direktori proyek "eksternal", bukan direktori yang dibuat di bawah ruang kerja gerhana. Dengan begitu, kedua gagasan (ruang kerja gerhana vs. ruang kerja SCM) dipisahkan dengan jelas.
Seperti ipsquiggle menyebutkan dalam komentar, dan seperti yang saya singgung di jawaban lama , Anda sebenarnya dapat menyimpan konfigurasi peluncuran sebagai file bersama langsung di direktori proyek Anda. Semua konfigurasi peluncuran kemudian dapat diversi seperti file proyek lainnya.
(Dari posting blog Tip: Membuat dan Berbagi Konfigurasi Peluncuran dari KD)
common
tab, pilihSave as > shared file
. Ini secara langsung menjatuhkannya di folder proyek, sehingga dapat SCM dengan sisa proyek..project
versi itu diabaikan untuk sementara waktu hanya untuk ruang kerja Anda. Tetapi jangan singkirkan semua pengguna lain dari definisi proyek Eclipse yang umum, mereka dapat dengan cepat mengimpor di ruang kerja Eclipse mereka, hanya karena Anda memiliki satu definisi tambahan yang hanya sesuai dengan kebutuhan Anda saat itu.Saat ini saya sedang mengerjakan proyek tempat kami memiliki file .project dan .cproject di bawah kendali sumber. Idenya adalah bahwa pengaturan yang terkait dengan jalur perpustakaan dan arahan tautan akan menyebar di seluruh tim.
Dalam praktiknya itu tidak bekerja dengan baik, penggabungan hampir selalu kembali dalam keadaan konflik yang perlu diuraikan di luar gerhana dan kemudian proyek ditutup dan dibuka kembali agar perubahan diterapkan.
Saya tidak akan merekomendasikan menjaga mereka dalam kontrol sumber.
sumber
Tidak ada artinya jika file konfigurasi CDT tidak ramah-sumber. Ada bug yang diajukan untuk file .cproject berubah sangat sering dan menyebabkan konflik, lihat Berbagi file proyek cdt dalam repositori selalu menyebabkan konflik .
sumber
Beberapa proyek, seperti yang menggunakan Maven, ingin membuat file proyek berdasarkan POM.
Yang mengatakan, selain itu - .metadata TIDAK boleh dalam kontrol sumber. Proyek Anda harus menentukan apakah pengaturan proyek, berdasarkan bagaimana Anda merencanakan untuk mengelola standar dan semacamnya. Jika Anda dapat dengan jujur mempercayai pengembang Anda untuk mengatur lingkungan mereka berdasarkan standar, dan Anda tidak harus menyesuaikan apapun yang khusus untuk proyek apa pun, maka Anda tidak perlu memasukkannya. Saya, saya sarankan mengonfigurasi setiap proyek secara khusus . Hal ini memungkinkan pengembang untuk mengerjakan hal-hal multi proyek dalam ruang kerja yang sama tanpa harus mengubah pengaturan default bolak-balik, dan itu membuat pengaturan sangat eksplisit, menimpa apa pun pengaturan default mereka agar sesuai dengan standar proyek.
Hanya bagian yang sulit adalah memastikan mereka semua tetap sinkron. Tetapi dalam kebanyakan kasus Anda dapat menyalin file .settings dari proyek ke proyek. Jika ada yang secara spesifik tidak Anda inginkan dalam kontrol sumber, lakukan hal yang sama dengan pengaturan svn: abaikan untuk mereka, jika SCM Anda mendukungnya.
sumber
File .classpath secara definitif adalah kandidat yang bagus untuk memeriksa scm karena pengaturannya dengan tangan bisa menjadi banyak pekerjaan dan akan sulit bagi pengembang baru untuk memasuki proyek. Memang benar itu dapat dihasilkan dari sumber lain, dalam hal ini Anda akan memeriksa di sumber lain.
Adapun pengaturan., Itu tergantung pada pengaturan. Ini adalah area abu-abu, tetapi beberapa pengaturan hampir wajib dan nyaman untuk dapat memeriksa proyek, mengimpornya di Eclipse dan mengatur semuanya dan siap untuk digunakan.
Oleh karena itu, di proyek kami, kami menyimpan salinan folder .settings yang disebut CVS.settings dan kami memiliki tugas semut untuk menyalinnya ke .settings. Ketika Anda mendapatkan proyek dari CVS, Anda memanggil tugas semut 'eclipsify' untuk menyalin pengaturan default ke folder .settings baru. Saat Anda mengonfigurasi pengaturan yang diperlukan oleh semua orang yang mengembangkan proyek, Anda menggabungkannya kembali ke folder pengaturan CVS dan mengkomitnya ke CVS. Dengan cara ini menyimpan pengaturan di SCM menjadi proses yang disadari. Memang diperlukan devs untuk menggabungkan pengaturan itu kembali ke folder .settings mereka dari waktu ke waktu ketika perubahan besar diperiksa. Tapi itu adalah sistem sederhana yang bekerja dengan sangat baik.
sumber
Saya akan mengatakan tidak satupun dari mereka. Mereka kemungkinan besar berisi informasi yang relevan hanya untuk workstation Anda (saya sedang memikirkan jalur untuk perpustakaan dan semua). Juga bagaimana jika seseorang di tim Anda tidak menggunakan Eclipse?
sumber
Mempertimbangkan:
Ini HARUS berada dalam kontrol versi selama Anda tetap menggunakan jalur relatif proyek. Hal ini memungkinkan pengembang lain untuk memeriksa proyek dan mulai bekerja segera tanpa harus melewati semua kesulitan setup yang dialami pengembang lain juga.
Anda mungkin tergoda untuk memasukkan .metadata dalam kontrol versi juga sehingga pengembang Eclipse dapat memeriksa seluruh ruang kerja dan memilikinya pra-konfigurasi dengan semua proyek yang tepat, tetapi itu mencakup banyak informasi khusus pengguna yang kapan saja ada orang yang mengerjakannya, itu akan berubah, jadi saya akan menyarankan untuk TIDAK TERMASUK .metadata. Sangat mudah untuk membangun ruang kerja lokal hanya dengan mengimpor semua proyek Eclipse yang ada.
sumber
Saya telah menghabiskan terlalu banyak waktu mengonfigurasi pengaturan ruang kerja gerhana untuk kolega baru (dan saya sendiri). Yang akhirnya saya lakukan adalah menyalin .metadata saya sendiri ke mesin pengembang baru.
Jika Anda bekerja dalam tim, maka saya pikir berikut ini adalah kandidat yang sangat baik untuk tetap di bawah kontrol versi:
sumber