SORU
21 Aralık 2008, Pazar


Gıt CVS hareket: $Id:$ eşdeğer?

Soruları basit bir kaynak kodu kontrol araçları ve git makul bir seçenek gibi göründü soran bir sürü okudum. Ben o kadar var ve çalışıyor ve şimdiye kadar da iyi çalışır. CVS sevdiğim bir yönü sürüm numarası otomatik incrementation.

Bu dağıtılmış bir depo daha mantıklı olduğunu anlıyorum, ama bir geliştirici olarak böyle bir şeye ihtiyacım var. Nedenini de açıklayayım:

Emacs kullanıyorum. Periyodik olarak ben geçmesi ve 3 taraf için dosyalar paketleri lisp kaynak yeni sürümleri için bak. Dosya foo var ki.başlığına göre 1.3; en son sürümüne bak ve 1.143 veya 2.6 ya da her neyse görmek, çok geride güzel olduğumu biliyorum hangi el. Bunun yerine 40 karakter sağlamalarının bir çift görürsem, daha sonra ya nasıl oldu hiç bir fikrim olsun bilemem. Kesinlikle, eğer elle değişiklikleri yükleyin kontrol etmek için sadece güncel ben nasıl bir fikir almak için olsaydı ondan nefret ederim.

Geliştirici olarak, istiyorum uzatmak bu nezaket olarak görüyorum, insanları kullanan benim çıkış (ve belki de geçiyorum kendimi biri, ama hadi bunu bir kenara bırakın bir an). Lanet numarayı kendimi her zaman artırmak için hatırlamak zorunda, ya da bir zaman damgası falan istemiyorum. Bu gerçek bir PİDE ve tecrübeyle sabit.

Alternatifler var? Eğer bir Id $alabilirsem mi:$ başka nasıl aradığım şey verebilir miyim? eşdeğer Yardım için teşekkürler!

EDİT: gereken söz benim beklentim bu son kullanıcı OLMAZ var git yüklü ve eğer onlar yapmak, olmayacak bir yerel depo (aslında sanırım değil, bunu yapmak için kullanılabilir bu şekilde). Cevaplar için teşekkürler şimdiye kadar!

CEVAP
22 Aralık 2008, PAZARTESİ


SHA sürümü sadece bir temsil kurallı olsa da). git describe komutu size sunar ve bu yüzden oldukça iyi yapar.

java memcached client kaynağım Efendisi benim şube git describe çalıştırdığımda örneğin, ben bu olsun:

2.2-16-gc0cd61a

Bu iki önemli şey söylüyor:

  1. Tam olarak ne oldu 16 2.2 beri bu ağacın içinde tamamlar
  2. kesinkaynak ağacı başkasının klon görüntülenebilir.

Diyelim ki, örneğin, (hatta dağıtım için tüm içeriğini yeniden yazdı) sayısını göstermek için kaynak ile version dosyası paketlenmiş söylüyorlar. Hadi paketlenmiş sürümü 2.2-12-g6c4ae7a (sürüm değil, ama geçerli bir sürüm) olduğunu söylüyorlar.

Şimdi arkasında tam olarak ne kadar (4 adet taahhüt), görebilirsinizve4 işlemiş olduğu tam olarak görebilirsiniz:

# The RHS of the .. can be origin/master or empty, or whatever you want.
% git log --pretty=format:"%h %an %s" 2.2-12-g6c4ae7a..2.2-16-gc0cd61a
c0cd61a Dustin Sallings More tries to get a timeout.
8c489ff Dustin Sallings Made the timeout test run on every protocol on every bui
fb326d5 Dustin Sallings Added a test for bug 35.
fba04e9 Valeri Felberg Support passing an expiration date into CAS operations.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jbignacio

    jbignacio

    13 Mart 2006
  • KendrickLamarVEVO

    KendrickLama

    9 ŞUBAT 2011
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008