Basit kaynak kodu kontrol araçları hakkında sorular soran bir sürü soruyu okudum ve Git makul bir seçim gibi göründü. Onu hazırladım ve çalıştırıyorum ve şimdiye kadar iyi çalışıyor. CVS ile ilgili sevdiğim bir özellik, bir sürüm numarasının otomatik olarak artırılmasıdır.
Bunun dağıtılmış bir depoda daha az mantıklı olduğunu anlıyorum, ancak bir geliştirici olarak bunun gibi bir şey istiyorum / buna ihtiyacım var. Nedenini açıklayayım:
Emacs kullanıyorum. Düzenli aralıklarla Lisp kaynak dosyalarının üçüncü taraf paketleri için yeni sürümlerini araştırıyorum. Başlığa göre sürüm 1.3 olan foo.el adlı bir dosyam olduğunu varsayalım; En son sürüme bakarsam ve 1.143 veya 2.6 ya da her neyse, görürsem, epey geride olduğumu biliyorum.
Bunun yerine birkaç 40 karakterlik karma görürsem, hangisinin daha sonra olduğunu bilmeyeceğim veya ne kadar sonra olduğuna dair hiçbir fikrim olmayacak. Sırf ne kadar güncel olmadığım hakkında bir fikir edinmek için ChangeLogs'u manuel olarak kontrol etmem gerekse kesinlikle bundan nefret ederim.
Bir geliştirici olarak, gördüğüm kadarıyla bu nezaketi, çıktılarımı kullanan kişilere genişletmek istiyorum (ve belki de kendimi kandırıyorum, ama bunu bir an için bir kenara bırakalım). Her seferinde lanet olası sayıyı kendim artırmayı veya bir zaman damgasını veya bunun gibi bir şeyi hatırlamak zorunda kalmak istemiyorum. Bu gerçek bir PITA ve bunu deneyimden biliyorum.
Öyleyse hangi alternatiflerim var? Bir $ Id: $ eşdeğeri alamazsam, aradığımı başka nasıl sağlayabilirim?
Beklentim, son kullanıcının Git'in kurulu OLMAMASI ve kursa bile yerel bir depoya sahip olmamasıdır (aslında, bu şekilde sunmamayı bekliyorum).
filter-branch
ya da başka bir şeyle yeniden inşa edebileceği için karma güvenilir değildir .