2012-04-13 26 views

cevap

8

Biz makefile böyle bir satırını kullanın:

bir marka değişkene çalışma kopyanın revizyon numarasını saklayan
REPO_REV := $(shell svnversion -n) 

. C kodunda kullanmak için, makefile'nizin derleyici komut satırında bir makro tanımlamak için bu değeri kullanmasını sağlayabilirsiniz (gcc için -DREPO_REV=$(REPO_REV) gibi bir şey).

4

:

Yeni kullanıcılar genellikle $Rev$ kelime nasıl çalıştığını olarak karıştırır. Deponun tek, küresel olarak artan bir revizyon numarası olduğu için, birçok kişi $ Rev $ anahtar kelimesinin değerinden yansıyan bu sayı olduğunu varsayar. Ancak, $Rev$, dosyanın değiştirildiği son düzeltmeyi göstermek için genişler, güncelleştirildiği son düzeltmeyi değil. Bunun anlaşılması karışıklığı ortadan kaldırır, ancak hayal kırıklığı çoğu kez kalır - bunu yapmak için bir Subversion anahtar kelimesinin desteği olmadan, global revizyon numarasını otomatik olarak dosyalarınıza nasıl ulaştırabilirsiniz?

Bunu yapmak için harici işlemeye ihtiyacınız vardır. Subversion, sadece bu amaç için tasarlanmış olan svnversion adlı bir araç ile gönderilir. Çalışma kopyanızı tarar ve bulduğu revizyonu/çıktıları çıktı olarak üretir. Bu revizyon bilgilerini dosyalarınıza gömmek için bu programı ve bazı ek araçları kullanabilirsiniz. svnversion hakkında daha fazla bilgi için, Bölüm 9, Subversion Complete Reference'da “svnversion—Subversion Working Copy Version Info” adlı bölüme bakın.

İlgili konular