2012-11-12 32 views
5

我正在查看一個doxygen代碼示例並看到以下內容。

/** 
    @file test.h 
    @brief Define helper functions 
    $Id: test.h,v 1.10 2012/10/10 10:10:10 author Exp $ 
*/ 

任何人都可以解釋$ Id:在這裏做什麼?

謝謝

+0

嗯。那'',v'看起來像一個CVS文件標識符。儘管如此,我還沒有使用CVS多年,所以我沒有任何存儲庫可供檢查!看看這個文件的頂部(ftp://ftp-glast.slac.stanford.edu/glast.u05/src/CMX/cmt/cmx_doxygen.pl)。 – Rook

+3

這是一個版本控制ID,CVS,SVN或其他。當您提交一些更改時,版本控制機制會自動更新該信息。它也不特定於doxygen。 – juanchopanza

回答

10

這不是一個doxygen行。這是一個源代碼控制命令字符,告訴它用版本信息替代,以便您可以在源代碼中看到您正在使用哪個提交版本。見http://www.badgertronics.com/writings/cvs/keywords.html

+0

因此,在將我的文件導入存儲庫之前,我需要添加'$ Id:$'?謝謝 – elgnoh

+0

'$ Id:$'語法由RCS,CVS和(可選)SVN使用。是的,您在檢入之前將'$ Id:$'或$'$ Id $'添加到您的源文件中;檢查出來會自動擴展它。 –

+0

您可能還必須手動指示源代碼管理系統執行關鍵字替換,以便將此信息放入代碼中。例如對於SVN,請參閱(http://wiki.preshweb.co.uk/doku.php?id=svn:propset)[http://wiki.preshweb.co.uk/doku.php?id=svn:propset]例如「svn propset svn:keywords'Id'test.h」 您也可以在.subversion/config文件的[auto-props]部分設置它,以便自動將此屬性添加到新文件中,並使用「* .h = svn:keywords = Id「 –