[英]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數據文件創建一個新的存儲庫。 我不認為我希望我的代碼被自動轉換:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.