Penggunaan svn:externals dan svn:ignore

Saat ini saya bekerja dengan Subversion lagi, meski secara pribadi sudah beralih ke Git, karena bergabung dengan team yang menggunakan subversion untuk urusan Source Code Management. Pada tulisan kali ini saya akan berbagi tentang penggunaan svn externals dan svn ignore pada project.

svn:externals
Svn externals dibutuhkan pada project yang mengambil library yang umum di luar project tersebut. Sebagai contoh, pada project ini saya menggunakan Zend Framework sebagai framework dan Doctrine sebagai ORM. Karena menggunakan Doctrine, maka library Doctrine tersebut diikut sertakan dalam layout project ini. Sebenarnya bisa saja library Doctrine tersebut diletakkan di include path PHP, tetapi ini akan menyusahkan rekan satu team yang lain yang tidak mempunyai library Doctrine. Meletakkan Doctrine di dalam layout project sebenarnya juga mengganggu dan menambah beban repository. Karena Doctrine sebenarnya bukanlah bagian dari library project kita.

Sebagai solusinya kita bisa menggunakan fitur svn:externals dari subversion. Dengan menggunakan fitur ini, library Doctrine tidak akan disimpan di repository dan jika kita melakukan checkout dari repository maka library Doctrine akan diambil dari repositori server yang sudah diarahkan pada saat kita membuat svn:externals tadi. Berikut cara penggunaan svn externals.

Masuk ke direktori tempat library Doctrine di simpan

$ cd library

Tambahkan property svn:externals

$ svn propset svn:externals "Doctrine http://svn.doctrine-project.org/tags/1.1.5/lib/" .

Checkout library Doctrine dengan melakukan update.

$ svn update

Commit, untuk menyimpan perubahan.

$ svn commit

Untuk selanjutnya, jika melakukan checkout maka library Doctrine akan diambil langsung dari repository Doctrine di http://svn.doctrine-project.org/tags/1.1.5/lib/, dan jika kita melakukan commit terhadap perubahan pada library tersebut, maka perubahan akan dikirim ke repositori tersebut.

svn:ignore
Ada kalanya kita tidak ingin menyimpan file yang ada di direktori kerja ke repository. Contoh sederhana adalah log file yang dihasilkan oleh aplikasi yang kita buat. Karena log file ini selalu update dan perubahan file ini juga tidak perlu dicatat oleh version control. Di sinilah fitur svn:ignore diperlukan. JIka menggunakan Git, kita hanya cukup membuat .gitignore untuk memanfaatkan fitur seperti ini. Berikut penggunaan svn:ignore.

Set property svn:ignore pada folder logs

$ svn propset svn:ignore "application.log" logs/

Commit, untuk menyimpan perubahan.

$ svn commit

Sekian dulu penjelasan tentang penggunaan property svn:externals dan svn:ignore pada Subversion. Semoga tulisan ini bermanfaat bagi kita semua.

Wassalam

Comments

numbang belajar mas. newbie

numbang belajar mas. newbie linux

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options