C# 在从svn更新之前检查本地目录是否为工作副本
我正在使用c#编程来提取svn存储库。我已将SharpSvnDLL添加到我的项目中,并编写了以下代码C# 在从svn更新之前检查本地目录是否为工作副本,c#,sharpsvn,C#,Sharpsvn,我正在使用c#编程来提取svn存储库。我已将SharpSvnDLL添加到我的项目中,并编写了以下代码 string localFolder= @"C:\Users\Desktop\LocalFolder\Dev\Websites\Service"; SvnClient client = new SvnClient(); SvnUriTarget target = new SvnUriTarget(@"http://svn.user.com/svn/websites/Branches/Inter
string localFolder= @"C:\Users\Desktop\LocalFolder\Dev\Websites\Service";
SvnClient client = new SvnClient();
SvnUriTarget target = new SvnUriTarget(@"http://svn.user.com/svn/websites/Branches/InternalServices");
SvnInfoEventArgs info;
client.GetInfo(target, out info);
//Specify the repository root as Uri
//Console.WriteLine("Repository version: {0}", info.Revision);
Console.WriteLine("Started checking out. Please wait few minutes");
client.CheckOut(target, localFolder);
//client.Update(localFolder);
我已使用“client.checkout”方法签出,并且可以使用“client.update”方法进行更新
假设我的机器中有文件夹“服务”。我最初使用“client.checkout”将文件/文件夹签出到此文件夹
下次我运行程序时,它应该会自动更新,而无需签出。我如何知道服务文件夹是否已签出一次,现在应该进行更新?您可以确定目录是否是这样的工作副本:
public static bool IsWorkingCopy(string path)
{
using (var client = GetSvnClient())
{
var uri = client.GetUriFromWorkingCopy(path);
return uri != null;
}
}
您可以确定目录是否为工作副本,如下所示:
public static bool IsWorkingCopy(string path)
{
using (var client = GetSvnClient())
{
var uri = client.GetUriFromWorkingCopy(path);
return uri != null;
}
}