繁体   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