Gitextensions: Commit Dialog - Tahap yang dipilih Garis tidak berfungsi

Dibuat pada 28 Okt 2011  ·  25Komentar  ·  Sumber: gitextensions/gitextensions

Ketika saya memilih sekumpulan baris dalam tampilan diff dari file yang tidak dipentaskan dan mencoba untuk mementaskan mereka, GitExtension sering mengatakan sesuatu seperti "error ..... patch tidak berlaku".

Mengenai hal ini, akan lebih jelas, jika seluruh baris yang dipilih dan bukan hanya sebagian.

bug

Komentar yang paling membantu

Ini terjadi pada saya dengan 2,48 dalam skenario berikut:
Tools->Settings->Git config->Line Endings: Not set
Mengatur Akhiran Baris ke salah satu opsi menyelesaikan masalah. Sepertinya not set dalam tampilan effective adalah masalah konfigurasi, dan menurut pendapat saya harus ditampilkan seperti itu.

Semua 25 komentar

baik untuk operasi salin / tempel biasa memilih seluruh baris tidak berfungsi ...

Tetapi saya setuju bahwa algoritme harus mendukung file yang baru dibuat. Tidak yakin bagaimana melakukannya ...

Nah, berpikirlah mudah. Dalam situasi melakukan, sangat tidak biasa untuk menyalin teks dari diff. Saya telah melihat solusi lain, di mana seluruh baris disalin, itu bagus. Saya akan menganggap fungsi salin sebagai fitur yang bagus dalam kasus ini. Saya tahu, bahwa Anda menggunakan tampilan yang sama, saat melakukan diff file. Jadi mungkin kelas terpisah (delegate?), Yang menangani hanya fungsi dokumen komit akan dilakukan di sini.

Saya tidak mengerti apa yang Anda bicarakan. Masalah tersebut muncul dengan waktu yang lama dan sangat mengganggu. Saya mengalaminya bukan saat mementaskan baris dari yang baru dibuat, tetapi dan dari yang sudah terlacak, tetapi hanya file yang dimodifikasi juga. Sedih, tetapi saya masih tidak mendapatkan langkah-langkah untuk mereproduksi (((muncul secara tidak terduga

Saya tidak mengalami masalah dengan fitur ini dalam beberapa waktu sekarang. Setelah Anda dapat mereproduksinya, beri tahu kami, jika tidak, perbaikan hampir tidak mungkin dilakukan ...

Yah, itu pasti tidak berfungsi di 2.25, di 2.26 entah bagaimana tampaknya berfungsi, tetapi tidak ada perbaikan resmi untuk ini. Saya memiliki komitmen yang tidak dapat saya pisahkan karena perilaku itu, jadi harus melakukannya "sebagaimana adanya". Yang saya bicarakan adalah perilaku di gitx, yang merupakan salah satu UI terbaik saat ini. itu intuitif dan jelas. Ketika Anda memilih sebuah baris dalam diff selama komit, seluruh baris dipilih dan di sisi kanan muncul tepat satu tombol "garis panggung" tergantung pada apakah Anda memilih satu atau lebih baris. jika Anda mengkliknya, garis-garis itu dipentaskan atau - sebaliknya, tanpa pentas. akan senang melihat sesuatu yang serupa di ekstensi gite.

Untuk saat ini: Tampaknya berfungsi jika Anda memilih dengan tepat seluruh baris yang ingin Anda (batalkan) panggungnya dan tidak ada karakter yang lebih atau kurang. Jadi, mungkin kami dapat menutup masalah dan membuka kembali, jika detail lebih lanjut tentang apa yang terjadi sudah jelas?

"Untuk saat ini: Tampaknya berhasil jika Anda memilih dengan tepat seluruh baris yang ingin Anda (batalkan) panggungnya dan tidak ada karakter apa pun yang lebih atau kurang. Jadi mungkin kita bisa menutup masalah dan membukanya kembali, jika detail lebih lanjut tentang apa yang terjadi sudah jelas?"

Saya tidak dapat menyetujui ini. Baru kemarin saya mendapat kesalahan dan memilih seluruh baris tidak membantu. Saya ingat bahwa di beberapa versi lama hal ini terkadang membantu, tetapi tidak sekarang. (Mungkin setelah versi yang menghapus kemampuan untuk menyetel ulang baris sebelum menjalankannya).

Seperti yang saya katakan sebelumnya: Jika Anda memiliki kasus yang dapat Anda tiru ulang, harap simpan status itu sehingga orang lain (atau Anda) dapat mencoba memperbaiki masalah !! Tanpa test case yang dapat direproduksi ini tidak akan pernah bisa diperbaiki!

Saya tidak tahu apakah saya lebih baik membuka terbitan baru atau tidak, tapi saya akan mulai dengan berkomentar di sini. Saya akan dengan senang hati membuka edisi baru jika itu lebih baik.

Saya perhatikan bahwa saya mendapatkan kesalahan di atas ketika saya mencoba untuk tahap baris sementara "Tampilkan seluruh file" diaktifkan. Jika saya mengaktifkannya kembali, itu berfungsi dengan baik. Ini terjadi secara konsisten untuk saya sekarang. Saya menggunakan versi 2.26, tetapi saya baru meningkatkan ke 2.28 dan itu masih berlangsung.

referensi # 636

Saya mengalami masalah yang sama kemarin (tidak kurang dari proyek GitExtensions). Beberapa baris dalam file dapat dibuat panggung tetapi yang lainnya tidak. Saya akan mencoba mengulanginya malam ini.

Saya mereproduksi kesalahan ini untuk file .sln dalam pengkodean UTF8 dengan BOM. Masalah hanya muncul ketika encoding diff dalam combo box adalah UTF8. Ketika saya beralih ke pengkodean default semuanya bekerja dengan benar.

Saya pikir masalah utama karena BOM mengubah nomor baris

Saya baru saja mengamati masalah serupa di Git Extensions v2.28. Dengan file yang dibuat menggunakan akhiran baris Unix, ditambahkan menggunakan Ekstensi Git, saya menerima peringatan bahwa akhiran baris tidak akan diubah di ruang kerja saya, tetapi akan diganti dengan akhiran baris Windows jika saya memeriksa file lagi. Setelah itu, saya membuat dua perubahan pada file. Kemudian, mencoba untuk melakukan tahapan hanya bagian kedua gagal, mengklaim bahwa tambalan rusak. Pementasan bagian pertama tampaknya berfungsi dengan baik. Alat baris perintah git tidak memiliki masalah pementasan hanya bagian kedua, terlepas dari akhir baris, jadi ini tampaknya merupakan bug di Ekstensi Git.

Menghapus file, dan melakukan "git checkout" untuk mendapatkan versi dengan akhiran baris yang benar, memperbaiki masalah - sekarang saya dapat menggunakan Git Extensions untuk membuat patch kedua dari patch secara terpisah tanpa menyebabkan kesalahan.

Namun, ada patch error yang serupa ketika saya mencoba untuk unstage kedua hunks, satu per satu - tidak suka ketika tidak ada lagi bongkahan yang tersisa di area stage.

Masalahnya tampaknya berasal dari pengkodean file atau mungkin akhir baris seperti yang disebutkan di atas. Itu terjadi pada saya hari ini di proyek ac # yang berisi komentar dengan karakter Jerman (Latin1, windows-1251?) String dan dalam satu baris itu mengubah (apa pun alasannya) pengkodean file. File diformat ulang oleh VS2010. Tepat sejak baris ini, setiap baris berikut tidak dapat dilakukan melalui GE (2.40, tetapi juga di versi sebelumnya). Pementasan di core-git berfungsi dengan baik.

Saya baru saja meningkatkan ke 2.40 dari 2.31 dan fitur ini sekarang tampaknya benar-benar rusak. Saya tidak bisa membuat baris apa pun di file mana pun. Saya sudah mencoba dengan file C ++ yang dikodekan ANSI dan file C # yang dikodekan UTF-8, yang sebagian besar waktu digunakan untuk bekerja di 2.31 (digunakan untuk mendapatkan masalah dengan baris terakhir file).

"... patch gagal ... patch tidak berlaku ..."

+1

a670f1501103fbe0d214ab76811a33353cab87af memperbaiki bug yang diperkenalkan pada 2.40

fd96875589f22851a691fa1f0f989816a77458aa memperbaiki masalah BOM

Terima kasih banyak Janusz. Saya membangun kembali GitExtensions, mengganti file di Program Files dan itu berfungsi dengan baik.

Saya memperhatikan bahwa jika file memiliki baris kosong di bagian akhir dan Anda menghapusnya, GitExtensions tidak dapat melakukan perubahan ini, namun ini adalah cacat yang ada yang saya sebutkan di komentar saya sebelumnya.

Ini adalah perbaikan cepat. Ketika saya mengujinya, ditemukan kasus lain yang tahap itu tidak berfungsi. Saya akan mencoba menulis ulang algoritma dengan cara yang lebih sederhana.

Jika seseorang mereproduksi bug ini dengan 2.41 atau yang lebih baru, silakan buka kembali.

Saya sedang mengalami masalah ini dengan 2.43. Saya tidak bisa "Tahap Selected Lines" di manapun dalam file apapun jika "Abaikan perubahan spasi" dicentang. (Sayangnya ketika tidak dicentang, banyak file yang harus saya komit setiap baris dalam file dihapus dan kemudian setiap baris ditambahkan lagi. Saya tidak yakin mengapa; itu bisa menjadi hal tab-versus-spasi, tapi itu akan menjadi aneh karena salah satu file ini adalah .csproj yang biasanya tidak diedit secara manual dan oleh karena itu tidak boleh terkena perubahan pengaturan itu.)

Fitur ini tidak berfungsi dengan spasi yang diabaikan. Sepertinya masalah EOL.

Ini terjadi pada saya dengan 2,48 dalam skenario berikut:
Tools->Settings->Git config->Line Endings: Not set
Mengatur Akhiran Baris ke salah satu opsi menyelesaikan masalah. Sepertinya not set dalam tampilan effective adalah masalah konfigurasi, dan menurut pendapat saya harus ditampilkan seperti itu.

Varian khusus ini, tetapi seperti yang dilaporkan sebelumnya oleh grantbowering, terjadi pada saya ketika "Abaikan perubahan spasi kosong di depan dan di belakang" atau "Abaikan semua perubahan spasi putih" diaktifkan dengan GitExtensions 2.51.03, Windows 10 64 bit:

  1. Ubah file.
  2. Perintah> Lakukan
  3. Arahkan mouse ke jendela diff dari dialog komit.
  4. Dari bilah alat atas yang muncul, aktifkan "Abaikan perubahan spasi kosong di depan dan di belakang" dan / atau "Abaikan semua perubahan spasi putih".
  5. Klik pada baris yang dimodifikasi di diff.
  6. Tekan tombol "S" untuk memilih baris yang dipilih: error: patch failed: ... error: ... patch does not apply .

Lihat # 3493.

Pada Jum, 29 Jun 2018, 20.03 per1234 [email protected] menulis:

Varian spesifik ini tetapi seperti yang diberitakan sebelumnya
https://github.com/gitextensions/gitextensions/issues/684#issuecomment-12332133 oleh
grantbowering terjadi pada saya saat "Abaikan spasi di depan dan di belakang
perubahan "atau" Abaikan semua perubahan spasi "diaktifkan dengan GitExtensions
2.51.03, Windows 10 64 bit:

  1. Ubah file.
  2. Perintah> Lakukan
  3. Arahkan mouse ke jendela diff dari dialog komit.
  4. Dari bilah alat atas yang muncul, aktifkan "Abaikan terkemuka dan
    mengekor perubahan spasi putih "dan / atau" Abaikan semua perubahan spasi ".
  5. Klik pada baris yang dimodifikasi di diff.
  6. Tekan tombol "S" untuk menentukan baris yang dipilih: error: patch gagal:
    ... error: ... patch tidak berlaku.

-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/gitextensions/gitextensions/issues/684#issuecomment-401501721 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ADdhsSZcDBHHn25q6HhRfvdkTdM5pjbsks5uBsA3gaJpZM4AFHeS
.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

takinosaji picture takinosaji  ·  3Komentar

JimmyZJX picture JimmyZJX  ·  3Komentar

yusirui picture yusirui  ·  4Komentar

drewnoakes picture drewnoakes  ·  3Komentar

AaronLayton picture AaronLayton  ·  4Komentar