Saya harus memindahkan ruang kerja Eclipse dari Linux ke Windows saat desktop saya mogok. Seminggu kemudian saya salin kembali ke Linux, kode dengan senang hati, komit ke CVS. Dan sayangnya, baris baru windows telah mencemari banyak file, jadi CVS berbeda membuang seluruh file, bahkan ketika saya mengubah satu atau dua baris!
Saya bisa membuat naskah, tetapi saya bertanya-tanya apakah itu akan mengacaukan file proyek Eclipse saya.
Jawaban:
Seperti yang disebutkan di sini dan di sini :
Tip : Anda dapat dengan mudah mengkonversi file yang sudah ada dengan memilih lalu di Package Explorer, dan kemudian pergi ke entri menu
File : Convert Line Delimiters to : Unix
sumber
File : Convert Line Delimiters to : Unix
perintah untuk "memperbaiki" semua file dalam proyek sekaligus.Saya memiliki file yang sama, gerhana tercemar bahkan dengan satu perubahan baris. Solusi: Pengaturan git Eclipse -> Tambah Entri: Kunci: core.autocrlf Nilai: true
sumber
Ada utilitas bash yang berguna -
dos2unix
- yang merupakan konverter format file teks DOS / MAC ke UNIX, yang jika belum diinstal pada distro Anda, harus dapat diinstal dengan mudah melalui manajer paket. halaman manual dos2unixsumber
Selain solusi Eclipse dan alat yang disebutkan dalam jawaban lain , pertimbangkan flip . Ini dapat 'membalik' di antara garis-garis normal dan Windows, dan melakukan hal-hal baik seperti mempertahankan stempel waktu file dan statistik lainnya.
Anda dapat menggunakannya seperti ini untuk menyelesaikan masalah Anda:
(Saya memasukkan klausa untuk mengabaikan direktori .git Anda, jika Anda menggunakan git, tetapi karena flip mengabaikan file biner secara default, Anda mungkin tidak memerlukan ini.)
sumber
find
tidak berfungsi seperti ini.Anda bisa mencobanya. Masalahnya adalah bahwa Windows memasukkan carriage return serta umpan baris ketika diberi baris baru. Sistem Unix hanya memasukkan umpan baris. Jadi karakter carriage return tambahan bisa menjadi alasan mengapa gerhana Anda mengacaukan baris baru.
Raih satu atau dua file dari proyek Anda dan konversikan. Anda bisa menggunakan Notepad ++ untuk melakukannya. Cukup buka file, pergi ke Format-> Convert to Unix (ketika Anda menggunakan windows).
Di Linux coba ini di baris perintah:
sumber
sed -i 's/$`echo \\\r`//' yourfile.java
dan untuk mengotomatiskannyafind . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
Untuk secara rekursif menghapus carriage return (
\r
) dari file CVS / * di semua direktori anak, jalankan yang berikut ini di shell unix:sumber