Buat mas Arie, mohon bantuannya untuk sekedar mencoba :) Daripada gw ngomong doang kan mendingan coding + implementasi, 'tul ga? =)) Nah ini salah satu usaha gw
BTW situs Buku Ruby sekarang pake cron untuk otomatis mengupdate data dari Launchpad, kira2 5 menit sekali... jadi kalo di-refresh, agak sabar yach karena gak instant, tapi pasti muncul koq.. ------------------------------------------------------------------------ Taken from: http://buku.ruby-id.web.id/articles/Cara%20Kerja%20Situs%20Web%20Buku%20Ruby.markdown.txt ------------------------------------------------------------------------ Situs Web Buku Ruby Berawal dari Arie <http://ariekusumaatmaja.wordpress.com/> yang lagi keracunan git, akhirnya gw jadi ikutan2 pingin nyoba Bazaar <http://bazaar-vcs.org/>. Selidik punya selidik, akhirnya nekat mbikin account di Launchpad <http://launchpad.net/>, trus mbikin project, mbikin team (yang pada awalnya masih sendirian, nggak tahu deh kalo sekarang), trus mbikin branch Bazaar sendiri. Setelah penuh susah payah memindahkan repository Subversion Buku Ruby asli yang 25 MB ituh!! (walaupun berhasil). Jadi kepikiran gimana caranya mbikin "wiki" tapi "powered by Bazaar". Kupikir, untuk menampilkannya kan file-filenya tinggal dicheckout dari repository Bazaar, lalu ditampilkan pake formatting yang diinginkan, misalnya Markdown, Textile, dsb. Jadilah mbikin repository satu lagi yaitu simple <https://code.launchpad.net/%7Eruby-id/bukuruby/simple>. Oh ya perlu diketahui kalo mbikin branch itu di Bazaar sangat mudah. Lebih gampang daripada mbikin repository di Subversion. Udah gitu, bisa langsung "remote" lagi. Maksudnya, langsung muncul di sana tuh... di Launchpad. Cara makenya Pertama Anda harus install Bazaar <http://bazaar-vcs.org/> terlebih dahulu. Kalo di Ubuntu sih gampang: |sudo aptitude install bzr | Untuk mendownload file-file di sini silakan "clone" atau "branch" (sama saja, cuma istilah doang) branch yang diinginkan. Di sini branch standar (induk)-nya adalah ~ruby-id/bukuruby/simple. |bzr branch http://bazaar.launchpad.net/~ruby-id/bukuruby/simple | Itu akan mendownload branch 'simple' beserta historynya, jadi Anda bisa commit lokal dan nantinya bisa di-push juga. Tapi jika tidak ingin download banyak, dan nggak butuh commit lokal, bisa pake checkout saja. Ini lebih hemat bandwidth: |bzr checkout http://bazaar.launchpad.net/~ruby-id/bukuruby/simple | Server Situs Web Buku Ruby Server Buku Ruby juga tersedia secara gratis koq! Dan source codenya boleh dipelototin oleh siapa pun. Cara downloadnya: |bzr branch http://bazaar.launchpad.net/~ceefour/bukuruby/simple bzr branch http://bazaar.launchpad.net/~ceefour/bukuruby/web | Jangan lupa simple-nya didownload dulu karena Situs Buku Ruby membutuhkan file-file tersebut sebagai data. Dan dua repository tersebut harus ditaruh di tempat yang sama, berdampingan gitu lho... Kalo udah selesai tinggal: |cd web ruby script/server | Oh ya dia butuh gem SuperRedCloth, BlueCloth, dan juga sqlite3-ruby: |sudo gem install SuperRedCloth sudo gem install BlueCloth sudo gem install sqlite3-ruby | Sebenarnya sqlite3-ruby tidak diperlukan tapi saya nggak tahu gimana caranya matiin ActiveRecord. Cape juga deh ya.. Commit lokal Kalo Anda tadi pake 'bzr branch' dan bukan 'bzr checkout' maka Anda bisa commit lokal sesuka hati, mau kembali ke history sebelumnya juga nggak masalah. Jadi sebaiknya gunakan 'bzr branch' :) Menambah materi / modifikasi Untuk mengedit file, tinggal edit file tersebut lalu: |bzr ci | Untuk menambah file, bikin dulu filenya lalu: |bzr add bzr ci | Berkontribusi kembali Untuk berkontribusi, Anda bisa mem-push perubahan Anda ke Bazaar server favorit Anda. Yang paling gampang dan murah (alias *GRATIS*), adalah di Launchpad <http://launchpad.net/>. Apabila Anda register account, Anda bisa membuat SSH key yang bisa digunakan untuk "push" ke server Bazaar di Launchpad. Anda tidak harus push ke branch aslinya... Ini kan decentralized SCM, bo'! Bikin aja branch sendiri, kenapa takut? Misalnya user ariekeren ingin ngepush ke branchnya sendiri, dengan branch bernama 'simple', yang ditujukan untuk proyek 'bukuruby': |bzr push sftp://[EMAIL PROTECTED]/~ariekeren/bukuruby/simple | Nanti tinggal laporan ama admin... (saya :-) untuk mencantumkan branch Anda di halaman proyek BukuRuby (harusnya sih otomatis). Merge from upstream Ada kalanya Anda ingin merge dari upstream: |bzr merge http://bazaar.launchpad.net/~ceefour/bukuruby/simple | Jangan kuatir, meski Anda punya commit lokal, tapi Anda tetep dapat mengikuti perkembangan dari upstream. Namanya juga decentralized gituuuuuu... Merge TO upstream Bagaimana kalo ingin merge ke upstream? Caranya... tinggal kasih tau admin branch Anda yang mana yang ingin di-merge. Maka admin akan me-review dan nanti dia yang akan melakukan merge. Jadi Anda relax saja di rumah. :) Contoh-contoh Ngepush artikel: |[EMAIL PROTECTED]:/media/prestige/home/ceefour/project/bukuruby/simple$ bzr push Using saved location: sftp://[EMAIL PROTECTED]/~ruby-id/bukuruby/simple/ Pushed up to revision 8. | Ngepush web: |[EMAIL PROTECTED]:/media/prestige/home/ceefour/project/bukuruby/web$ bzr push sftp://[EMAIL PROTECTED]/~ceefour/bukuruby/web Pushed up to revision 7. | Apaan sih ini? Sebenarnya proyek ini banyak bersifat experimental. Pingin tau apa sih itu Bazaar, apa itu Launchpad, dan bagaimana menggunakan decentralized SCM beserta toolsnya dan bagaimana workflownya. Namanya juga belajar. Kalo gak bernoda ya nggak pinter2 :P Thanks ya... ~ Hendy <http://www.hendyirawan.com/> -- Hendy Irawan www.hendyirawan.com

