Menyertakan SVN Revision dalam Versi Assembly .NET Anda

Dalam dunia pengembangan perangkat lunak, menjaga kontrol versi adalah hal yang krusial. Bagi mereka yang menggunakan Subversion (SVN) sebagai sistem kontrol versi mereka, kemampuan untuk menyertakan nomor revisi repositori SVN dalam string versi assembly .NET dapat meningkatkan keterlacakan dan kemudahan debugging. Jika Anda pernah bertanya pada diri sendiri, “Apakah ada cara untuk melakukan ini tanpa alat pihak ketiga seperti CC.NET?”, jawabannya adalah ya, tanpa ragu.

Masalah: Versi Tanpa Alat Tambahan

Anda mungkin pernah mengalami situasi di mana Anda ingin string versi Anda tidak hanya mencerminkan nomor versi mayor dan minor, tetapi juga nomor revisi SVN. Format versi target yang mungkin Anda pertimbangkan tampak seperti ini:

Major.Minor.SVNRev

Sayangnya, menemukan metode yang mudah untuk mencapai ini di .NET tanpa perangkat lunak tambahan bisa menjadi tantangan, terutama jika Anda sebelumnya telah melakukan hal serupa dalam bahasa seperti C atau C++. Dalam C/C++, ini bisa dicapai menggunakan skrip build yang memperbarui file header dengan nomor versi.

Solusi: Menggunakan SubWCRev

Salah satu cara efektif untuk mengintegrasikan nomor revisi SVN ke dalam versi assembly .NET Anda adalah melalui SubWCRev, sebuah utilitas yang disertakan dengan TortoiseSVN. SubWCRev membaca kata kunci SVN dari file Anda dan menggantinya dengan informasi revisi yang sesuai selama proses build.

Panduan Langkah-demi-Langkah untuk Mengimplementasikan SubWCRev

  1. Unduh dan Konfigurasi TortoiseSVN:

    • Mulailah dengan mengunduh TortoiseSVN jika Anda belum melakukannya.
    • Instal di mesin Anda untuk mengakses utilitas SubWCRev yang terbundel.
  2. Atur File AssemblyInfo.cs Anda:

    • Buka file AssemblyInfo.cs Anda; file ini biasanya berisi informasi versi assembly Anda.
    • Tambahkan placeholder di mana nomor versi akan diganti oleh SubWCRev.

    Contoh:

    [assembly: AssemblyVersion("1.0.0.0")]
    [assembly: AssemblyFileVersion("1.0.0.0")]
    [assembly: AssemblyInformationalVersion("1.0.0.0")]
    
  3. Buat File Template:

    • Buat file teks baru (misalnya, VersionInfo.txt) dan susun untuk mendefinisikan bagaimana informasi versi harus diisi.
    • Gunakan placeholder untuk nomor revisi.

    Contoh dari VersionInfo.txt:

    [assembly: AssemblyVersion("${VersionNumber}.0")]
    [assembly: AssemblyFileVersion("${VersionNumber}.0")]
    [assembly: AssemblyInformationalVersion("${VersionNumber}.${Revision}")]
    
  4. Jalankan SubWCRev:

    • Gunakan perintah SubWCRev untuk mengganti placeholder di file VersionInfo.txt Anda dengan nomor versi aktual dari repositori SVN Anda.
    • Ini biasanya dapat dilakukan melalui command line atau dimasukkan dalam skrip build Anda.
  5. Bangun Proyek Anda:

    • Ketika membangun proyek Anda, SubWCRev akan menghasilkan AssemblyInfo.cs baru dengan versi yang terisi dengan revisi SVN Anda.

Kesimpulan

Dengan mengintegrasikan SubWCRev ke dalam alur kerja proyek .NET Anda, Anda dapat dengan mudah memastikan bahwa string versi assembly Anda menyertakan nomor revisi SVN, semuanya tanpa harus bergantung pada perangkat lunak eksternal seperti CC.NET. Pendekatan ini tidak hanya membuat penomoran versi Anda lebih informatif tetapi juga menjaga agar tetap sederhana dan mudah dikelola.

Sekarang setelah Anda tahu cara menyertakan nomor revisi SVN dalam versi assembly .NET Anda, coba lakukan pada proyek Anda berikutnya, dan Anda akan menghargai kejelasan yang dibawanya.