簡體   English   中英

如何使用SVN和.NET以編程方式進行文件版本控制?

[英]How to programatically do file versioning with SVN and .NET?

我們有一個報告生成器。 每日,它將其數據寫入excel文件。

出於版本控制和文件數據安全的原因,我們需要更改此文件,並將更改提交到存儲庫。

您推薦使用過任何.net SVN API嗎?

您應該看一下SharpSvn .NET庫。 您可能需要checkout和commit命令:

退房:

string wcPath = "c:\\my working copy";
using (SvnClient client = new SvnClient())
{
    client.CheckOut(new Uri("http://server/path/to/repos"), wcPath);
}

承諾:

string wcPath = "c:\\my working copy";
SvnCommitArgs a = new SvnCommitArgs();
a.LogMessage = "My log message";

using (SvnClient client = new SvnClient())
{
    client.Commit(wcPath, a);
}

我們正在使用實際在預定義位置搜索已安裝的TortoiseSVN並使用命令行api的工具。 如果這是針對Windows而且不是為了重新分發 - 那么可能更容易。

有用的代碼為cmd:

@echo off
if exist "%ProgramW6432%\TortoiseSVN\bin\TortoiseProc.exe" set patht=%ProgramW6432%
if exist "%ProgramFiles%\TortoiseSVN\bin\TortoiseProc.exe" set patht=%ProgramFiles%
if exist "%ProgramFiles(x86)%\TortoiseSVN\bin\TortoiseProc.exe" set patht=%ProgramFiles(x86)%

echo Placing SVN Commit
"%patht%\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"%CD%" /notempfile    

如果您仍想從代碼中執行該任務 - SharpSVN http://sharpsvn.open.collab.net更好的選擇

您可以為您的存儲庫啟用Autoversioning 由於它使用WebDAV,您可以將存儲庫視為網絡驅動器(Web文件夾)。 您可以將文件視為普通文件,只需打開,修改和保存即可。

如果是我,我會為excel數據文件創建一個新的存儲庫。 我不認為我希望我的代碼被自動轉換:)

最簡單的方法是生成一個進程並調用SVN.exe來提交更改。

這是一個類似的問題。

有沒有人知道Subversion的C#API?

這是另一種資源

適用於.NET的SVN庫?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM