Saya ingin mengubah paket, mengujinya dan mudah-mudahan mengirimkan permintaan tarik sesudahnya. Bagaimana saya melakukannya dengan cara yang aman dan efisien? Pertanyaannya mungkin terasa terlalu luas, saya akan menerima jawaban yang mencakup masalah-masalah berikut:
Saya berharap untuk menginstal cabang terpisah dari sebuah paket dan dapat beralih di antara itu dan cabang stabil pada kemauan, dengan kompilasi dilakukan secara otomatis ketika diperlukan, tetapi
package.el
tampaknya tidak menawarkan cara mudah untuk melakukan itu. Jawaban pada emacs-SE ini memberi tahu kita bahwa "Jika banyak salinan paket diinstal, maka yang pertama akan dimuat" jadi saya kira orang bisa mengacaukan secara manualload-path
tetapi ini tidak terasa kuat. Apa cara standar untuk memilih versi paket tertentu di antara yang diinstal?Bahkan jika saya berhasil mengekspos beberapa cabang ke Emacs, untuk penyesuaian signifikan saya perlu memastikan cabang yang belum ditambal "dibongkar" dan efek sampingnya terisolasi. Apakah
unload-feature
menangani ini dengan benar atau mungkin memiliki kekhasan yang harus diketahui oleh setiap penguji paket multi-versi?Bagaimana cara saya menginstal dan menguji versi lokal? Jawabannya tampaknya tergantung pada apakah paket itu sederhana (= satu file) atau multifile. EmacsWiki mengatakan tentang paket multi-fungsi : " MELPA membuat paket untuk Anda ". Saya ragu bahwa saya harus (atau harus) berbicara dengan MELPA setiap kali saya mengubah
defun
formulir dalam paket multifile tetapi pertanyaannya tetap. Setidaknya saya perlu memberi tahu manajer paket tentang versi lokal, dan jika demikian, bagaimana saya melakukannya?Nama apa yang harus saya tetapkan untuk versi paket lokal? Misalkan saya ingin mengerjakan beberapa fitur atau bug secara bersamaan, yang berarti memiliki beberapa cabang. Emacs tidak akan mengizinkan untuk menyebutkan versi secara deskriptif (sepanjang baris
20170117.666-somebugorfeature
). Saya kira saya bisa mengganti nama paket itu sendiri, akhiran per cabang, tapi sekali lagi, seperti mengacaukan secara manualload-path
di Q1, ini adalah hack yang jelek, jadi saya tidak akan mencobanya dengan sesuatu yang saya ingin kirim ke hulu kecuali itu adalah praktik yang diterima secara luas .
Pertanyaannya mungkin naif, karena saya tidak pernah menulis tambalan yang tidak diterapkan dengan git atau vcs serupa. Namun, bagi banyak pengguna Emacs, menambal paket Emacs mungkin merupakan upaya pemrograman sosial pertama mereka (atau mungkin satu-satunya), yang mengapa, saya yakin, jawaban atas pertanyaan ini masih berharga.
emacs -L
pendekatan untuk memuat versi lokal dari sebuah paket yang saya juga instal secara global menggunakan Tong. Satu hal yang membuat saya kecewa adalah menjalankan<package>-version
selalu mengembalikan versi yang diinstal secara global, bahkan ketika saya benar-benar menjalankan versi modifikasi lokal. Ternyata ini karena<package>-version
paket untuk mendapatkan versi daripackages.el
.