apa cara yang benar untuk memperbarui plugin melalui tortoise svn ke repositori?

18

Saya malu untuk mengatakan bahwa saya agak tidak mengerti tentang prosedur yang digunakan untuk memperbarui plugin melalui tortoise svn meskipun plugin saya telah berada di repositori selama bertahun-tahun dan memiliki lebih dari 300.000 unduhan!

ada banyak pertanyaan tentang svn di sini tetapi mereka hanya membuat saya bingung lebih lanjut: -z

entah bagaimana saya sudah berhasil sejauh ini tetapi saya perlu tahu prosedur yang tepat untuk memperbarui plugin saya ke versi baru sehubungan dengan melakukan trunk dan membuat direktori tag.

Inilah yang saya lakukan sejauh ini.

  1. kode pembaruan plugin di lokal saya sampai saya senang dengan itu
  2. salin semua file di dalam folder plugin lokal saya ke / trunk / (file plugin dan readme telah memperbarui nomor versi)
  3. komit direktori trunk
  4. klik kanan direktori trunk dan pilih buat cabang / tag dan atur untuk menyalin ke folder di / tag / dengan nama menjadi nomor versi

Apakah itu benar dan dalam urutan yang benar? jika tidak, apa cara yang benar?

juga, tentang nomor versi ...

untuk beberapa alasan, saya beralih dari versi 2.8.1 ke 2.81.2 pada pembaruan terakhir saya, apakah ini berarti bahwa itu tidak akan ditampilkan sebagai pembaruan yang tersedia di dasbor orang yang memiliki versi 2.81.2 jika saya mengubah nomor versi berikutnya menjadi 2.9?

bagaimana cara wordpress menentukan versi terbaru dan apakah pengguna harus memperbarui versinya? apakah itu melakukan version_compare? yang hanya berfungsi dengan format versi php yang benar bukan? misalnya. 2.9.2 dianggap versi yang lebih rendah dari 2.81.2? (karena, seperti yang saya mengerti, versi_compare dimulai di sebelah kiri dan membandingkan lebih tinggi / lebih rendah untuk setiap digit sehingga angka 9 akan dianggap kurang dari 81)

pertanyaan lain,

jika saya menemukan kesalahan konyol dalam kode yang tidak benar-benar mempengaruhi kerja plugin, mungkin salah ketik atau gambar tambahan. Apa yang saya edit dan komit untuk membuat unduhan baru dari plugin berisi perubahan?

apakah saya harus mengedit trunk DAN folder tag dan melakukan keduanya?

CommentLuv
sumber
2
tidak ada alasan untuk malu, saya juga punya masalah sekitar sebulan yang lalu dan Anda telah benar-benar datang lebih jauh dari saya :) @EAMann menjelaskan seluruh prosedur dengan sangat baik, termasuk tangkapan layar, di utas ini: wordpress.stackexchange.com/questions/ 16951 / ...

Jawaban:

29

Saya malu untuk mengatakan bahwa saya agak tidak mengerti tentang prosedur yang digunakan untuk memperbarui plugin melalui tortoise svn meskipun plugin saya telah berada di repositori selama bertahun-tahun dan memiliki lebih dari 300.000 unduhan!

Jangan jadi. SVN bisa rumit untuk banyak orang ... jadi mari kita lalui hal-hal selangkah demi selangkah ...

Inilah yang saya lakukan sejauh ini.

  1. kode pembaruan plugin di lokal saya sampai saya senang dengan itu
  2. salin semua file di dalam folder plugin lokal saya ke / trunk / (file plugin dan readme telah memperbarui nomor versi)
  3. komit direktori trunk
  4. klik kanan direktori trunk dan pilih buat cabang / tag dan atur untuk menyalin ke folder di / tag / dengan nama menjadi nomor versi

Apakah itu benar dan dalam urutan yang benar? jika tidak, apa cara yang benar?

Hampir ...

Langkah-langkah yang harus Anda ikuti:

  1. Kode pembaruan plugin secara lokal sampai Anda puas
  2. Tambahkan tag "stable" di readme.txtfile Anda agar sesuai dengan nomor versi yang baru
  3. Salin pembaruan lokal Anda ke /trunkdirektori folder plugin lokal
  4. Komit seluruh plugin untuk menyimpan perubahan ke /trunkrepositori
  5. Klik kanan /trunkdan buat tag baru, salin ke /tags/X.X.Xtempat xxx adalah versi yang sama di tag "stable" of readme.txt(langkah 2)
  6. Komit seluruh plugin untuk menyimpan tag

untuk beberapa alasan, saya beralih dari versi 2.8.1 ke 2.81.2 pada pembaruan terakhir saya, apakah ini berarti bahwa itu tidak akan ditampilkan sebagai pembaruan yang tersedia di dasbor orang yang memiliki versi 2.81.2 jika saya mengubah nomor versi berikutnya menjadi 2.9?

Bingo. Jika Anda melakukan versi 2.81.2 sebagai pembaruan dan orang-orang benar-benar mengunduh pembaruan itu, mereka tidak akan melihat 2,9 ketika Anda merilisnya.

bagaimana cara wordpress menentukan versi terbaru dan apakah pengguna harus memperbarui versinya? apakah itu melakukan version_compare? yang hanya berfungsi dengan format versi php yang benar bukan? misalnya. 2.9.2 dianggap versi yang lebih rendah dari 2.81.2? (karena, seperti yang saya mengerti, versi_compare dimulai di sebelah kiri dan membandingkan lebih tinggi / lebih rendah untuk setiap digit sehingga angka 9 akan dianggap kurang dari 81)

Persis. Perbandingan versi PHP standar akan melihat versi 2.81.2 sebagai versi yang lebih baru dari 2.9 karena 81> 9.

Saya sarankan Anda merilis versi 3.0 berikutnya, kemudian sangat berhati-hati ketika membuat versi di masa depan untuk mencegah kesalahan ketik ini.

jika saya menemukan kesalahan konyol dalam kode yang tidak benar-benar mempengaruhi kerja plugin, mungkin salah ketik atau gambar tambahan. Apa yang saya edit dan komit untuk membuat unduhan baru dari plugin berisi perubahan?

apakah saya harus mengedit trunk DAN folder tag dan melakukan keduanya?

Jika Anda perlu melakukan perubahan kecil, anggap ini rilis pemeliharaan . Saya biasanya mengikuti skema versi semacam ini:

2      .      1       .       3       .       5
major         minor           maint           build

Buat nomor yang saya hanya pernah gunakan secara internal atau untuk rilis beta ... Anda hampir tidak akan pernah melihat nomor build dari saya kecuali saya secara manual mengirimkan email kepada Anda file (cara saya bisa mendistribusikan versi pra-rilis yang tidak akan merusak pembaruan WordPress) .

Jika saya melihat ada bug dalam versi live, saya akan membuat tambalan cepat dan merilis versi pemeliharaan. Katakanlah saya telah merilis versi 2.2 dari sebuah plugin dan seseorang memperhatikan bahwa saya lupa memanggil jQuery dalam mode noConflict (). Saya akan melakukan tambalan cepat dan segera melepaskan 2.2.1.

Peningkatan dalam versi akan memaksa WordPress untuk mengenali pembaruan dan memberikan perbaikan kepada siapa saja yang sudah menginstal versi 2.2.

Untuk merilis versi pemeliharaan, Anda harus mengikuti langkah - langkah yang persis sama seolah-olah Anda merilis versi lengkap sistem. Jadi buat perubahan, tambahkan versi readme.txt, komit /trunk, beri tag, dll.

Tapi begitu Anda menandai sesuatu, Anda tidak akan pernah mengubahnya lagi. Pikirkan /tagsfolder Anda sebagai beku dalam waktu. Setiap versi dalam folder itu adalah snapshot dari plugin Anda pada titik waktu tertentu. Anda tidak boleh mengubah file apa pun di /tagsfolder secara langsung.

Jika Anda mendapati diri Anda berpikir itu mungkin ide yang bagus, pukul bagian belakang kepala Anda dan lepaskan versi pemeliharaannya :-)

Seperti yang disebutkan oleh Piet, saya telah menulis serangkaian instruksi langkah-demi-langkah yang baik sebelumnya ... tetapi situs tersebut tampaknya telah kehilangan tangkapan layar saya. Berikut ini versi lain dari panduan langkah demi langkah yang sama dengan tangkapan layar dari Tortoise yang dihosting di situs saya sendiri: http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/

EAMann
sumber
2
Jawaban yang bagus Satu edit kecil: Ketika Anda mengatakan tidak pernah mengubah sesuatu yang ditandai, itu hampir benar. Katakanlah Anda membuat kesalahan ketik pada readme Anda sendiri, tidak perlu melakukan rilis pemeliharaan hanya untuk memperbaikinya. Sedang mengobrol di # wordpress-meta hari ini dengan salah satu pemimpin dev, yang menyebutkan tidak apa-apa untuk hanya mengedit versi yang ditandai, asalkan hanya file readme.txt . Tidak ada yang lain. Secara umum, ya, tinggal jauh dari mengedit file yang ditandai Anda.
Andy Mercer
Jawaban yang bagus Satu-satunya hal yang akan saya tambahkan adalah bahwa ketika datang ke nomor versi plugin itu adalah ide yang baik untuk menggunakan Versi Semantik meskipun Anda tidak harus, itu membuat lebih mudah bagi pengguna untuk mengetahui apakah plugin Anda berpotensi merusak situs mereka jika itu perubahan versi UTAMA. Sistem apa pun yang Anda pilih untuk versi plugin Anda konsisten dan ingatlah untuk memperbarui readme changelog.
Aron