2011-12-05 92 views

回答

3

請記住,Tortoise是Subversion項目的UI客戶端。

沒有爲命令行龜客戶端的automatton指南:Automating Tortoise from command line

如果這還不夠,只要安裝在互聯網上提供任何Subversion客戶端,例如: SlikSvn,或者只是原來一個和

  1. 移動到工作拷貝目錄

  2. 命令行svn info --xml > log.xml運行後。您將以log.xml的XML格式獲得所有您需要的信息。

    或者

    只要運行svn info $WorkingCopyPath$ --xml > log.xml

希望這有助於

+0

謝謝。正是我需要的。 – Jcf

+1

最後一個版本的Tortoise在安裝程序中包含一個複選框,以便同時安裝svn的命令行版本,這非常有用。 –

2

的TortoiseSVN自帶的命令行工具svnversion.exe。 這個小小的工具只是打印出本地工作副本的版本號。 如果您沒有指定工作副本目錄,它會檢查當前目錄是否爲工作副本(如果不是,則它會輸出「已導出」),如果是,則會打印出修訂版本號和標記。 M for modified

4

不要重新發明輪子!

而是與svnversion,如果還是SVN信息處理和分析的結果,你有TSVN SubWCRev命令行工具,它允許使用(版本)模板文件,其中一些多變的存儲庫相關的數據被定義爲SubWCRev-keywords和你構建工具(或你的手)只需要在您的WC運行與所需的模板文件,SubWCRev並獲得VERSIONINFO用於安裝入結果文件

1

您可以使用控制檯工具SubWCRev.exe得到SVN信息directry :(在您的Visual Studio項目中使用Subversion版本號)[http://www.codeproject.com/KB/architecture/svn_visual_studio.aspx]。

獲得svn信息的另一種方法是在(MSBuild社區任務)[http://msbuildtasks.tigris.org/]中使用特殊的msbuild任務。例如,您可以在每次構建項目時使用新數據更新AssemlyInfo文件。看看這篇文章:Insert SVN version and Build number in your C# AssemblyInfo file

例如,稍後您可以將AssemblyInfo數據嵌入wix項目How to insert an assembly version number into a WiX script at build time

1

經過一番研究,這對我來說是最簡單的方法:

  1. 在C#中,運行SubWCRev。EXE(安裝了與烏龜SVN)
  2. 閱讀版本號形成其輸出

第1部分:請參見http://blogs.msdn.com/b/ericwhite/archive/2008/08/07/running-an-executable-and-collecting-the-output.aspx

第2部分:

string exe = @"C:\Program Files\TortoiseSVN\bin\SubWCRev.exe"; 
string projectPath = @"C:\MyProject"; 
RunResults runResults = Program.RunExecutable(exe, projectPath, projectPath); 
string lines = runResults.Output.ToString(); 

Regex regex = new Regex(@"\D*Updated to revision ([0-9]+)\D*"); 

Match match = regex.Match(lines); 
int revision = -1; 
if (match.Success) 
{ 
    revision = int.Parse(match.Groups[1].Value); 
} 

不知道,如果是這樣的最佳方案。對我而言,這是最簡單的。我曾嘗試http://netpl.blogspot.de/2011/10/reading-revision-number-of-local-copy.html哪些不起作用。 svn版本不包含在我的Sqlite數據庫中,因此無法從本文提出的任何正則表達式中讀取。

相關問題