Build numaraları doğrudan kullanılan sürüm denetimi programına bağlı oluyor. Örneğin kitabın pdf kopyasının baş sayfasına yerleştirdiğim "sürüm: r447, 2012-04-15" bilgisi, ddili.org'un Google code'daki son svn sürümü.
Oradaki sürüm numarasını make sırasında otomatik olarak şöyle elde ediyorum:
'echo rsvn info ders/d/pdf_indir.d ders/d/tesekkur.d | grep "Last Changed Rev" | awk '{print $4}' | sort -n | tail -n 1
'
Yukarıda iki dosya gösterdim ama aslında bütün dosyalar kullanılıyor. Ayrıca o yalnızca sürüm numarası; ondan virgülle ayrılan tarih de benzer biçimde alınıyor ve aslında yukarıdaki satırın son tarafı:
', svn info ders/d/pdf_indir.d ders/d/tesekkur.d | grep 'Last Changed Date' | awk '{print $4}' | sort -n | tail -n 1
'
Bütün satırın en sonunda da bütün çıktı şu dosyaya yönlendiriliyor:
'> ders/d/pdf_surum.txt'
Belki fazla ve gereksiz bilgi oldu ama sonuçta sen de git'in komut satırı araçlarını kullanarak build numarasını elde edebilir ve grep ve awk gibi başka programlarla süzerek istediğin bilgiyi çekebilirsin.
Tabii bir D programcısı olarak bütün işlemi yazdığın bir programa da yaptırabilirsin. ;)
Kendi programının sürüm numarası ise sana kalmış bir konu. Belirli bir anda 0.1 vs. diye adlandırabilirsin. git'i iyi bilmediğim için başka arkadaşların yanıtlamalarını bekliyorum.
Ali
Not: Böyle gösterince çok karmaşık ama yukarıdaki iki komut şurada 120 ile 124 satırları arasında:
http://code.google.com/p/ddili/source/browse/trunk/src/Makefile.ders.in#120
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]