SVN Revizyonunu .NET Derleme Versiyonlamanıza Dahil Etmek

Yazılım geliştirme dünyasında, sürüm kontrolünün sürdürülmesi kritik öneme sahiptir. Subversion (SVN) kullananlar için, SVN depo revizyon numarasını .NET derlemesinin sürüm dizesine dahil edebilmek, izlenebilirliği ve hata ayıklama kolaylığını artırabilir. “Bunu CC.NET gibi üçüncü taraf araçlar olmadan yapmanın bir yolu var mı?” diye soruyorsanız, kesin bir evet cevabı alıyorsunuz.

Problemin Tanımı: Ek Araçlar Olmadan Versiyonlama

Sürüm dizesinin yalnızca ana ve alt sürüm numaralarını değil, aynı zamanda SVN revizyon numarasını da yansıtmasını istemeniz durumlarıyla karşılaşmış olabilirsiniz. Düşünebileceğiniz tipik bir hedef sürüm formatı şöyle görünebilir:

Ana.Alt.SVNRev

Ne yazık ki, ek yazılım olmadan bunu .NET’te başarmanın basit bir yolunu bulmak zor olabilir, özellikle de daha önce C veya C++ gibi dillerde benzer bir şey yaptıysanız. C/C++’da, bu, bir derleme betiği kullanarak sürüm numarasını güncelleyen bir başlık dosyası ile başarılabilirdi.

Çözüm: SubWCRev Kullanma

SVN revizyon numarasını .NET derleme versiyonlamanıza dahil etmenin etkili bir yolu SubWCRev kullanmaktır; bu araç TortoiseSVN ile birlikte gelir. SubWCRev, dosyalarınızdan SVN anahtar kelimelerini okur ve bunları derleme sürecinde uygun revizyon bilgileriyle değiştirir.

SubWCRev Uygulama Adım Adım Kılavuzu

  1. TortoiseSVN’i İndirin ve Yapılandırın:

    • Eğer henüz indirmediyseniz TortoiseSVN’i indirmeye başlayın.
    • Birlikte gelen SubWCRev aracını kullanabilmek için makinenize kurulum yapın.
  2. AssemblyInfo.cs Dosyanızı Ayarlayın:

    • AssemblyInfo.cs dosyanızı açın; bu dosya genellikle derlemenizin sürüm bilgilerini içerir.
    • SubWCRev tarafından sürüm numaralarının değiştirileceği yerlerde yer tutucular ekleyin.

    Örnek:

    [assembly: AssemblyVersion("1.0.0.0")]
    [assembly: AssemblyFileVersion("1.0.0.0")]
    [assembly: AssemblyInformationalVersion("1.0.0.0")]
    
  3. Bir Şablon Dosyası Oluşturun:

    • Yeni bir metin dosyası oluşturun (örneğin, VersionInfo.txt) ve sürüm bilgilerinin nasıl doldurulacağını tanımlamak için yapılandırın.
    • Revizyon numarası için yer tutucular kullanın.

    VersionInfo.txt örneği:

    [assembly: AssemblyVersion("${VersionNumber}.0")]
    [assembly: AssemblyFileVersion("${VersionNumber}.0")]
    [assembly: AssemblyInformationalVersion("${VersionNumber}.${Revision}")]
    
  4. SubWCRev’i Çalıştırın:

    • Yer tutucuları VersionInfo.txt dosyanızda SVN deponuzdan gerçek sürüm numaraları ile değiştirmek için SubWCRev komutunu kullanın.
    • Bu genellikle bir komut satırı aracılığıyla veya derleme betiklerinize dahil edilerek yapılabilir.
  5. Projenizi Oluşturun:

    • Projenizi oluşturduğunuzda, SubWCRev yeni bir AssemblyInfo.cs oluşturacak ve sürümü SVN revizyonunuzu içerecek şekilde dolduracaktır.

Sonuç

SubWCRev’i .NET proje iş akışınıza dahil ederek, derlemenizin sürüm dizesinin SVN revizyon numarasını içermesini kolayca sağlayabilirsiniz; bunu yapmak için CC.NET gibi dış yazılımlara bağımlı kalmadan. Bu yaklaşım, sürümlemenizi daha bilgilendirici hale getirir ve aynı zamanda basit ve yönetilebilir tutar.

Artık SVN revizyon numarasını .NET derleme versiyonlamanıza nasıl dahil edeceğinizi bildiğinize göre, bunu bir sonraki projenizde denemekten çekinmeyin ve getirdiği netliği takdir edeceksiniz.