Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在从svn更新之前检查本地目录是否为工作副本_C#_Sharpsvn - Fatal编程技术网

C# 在从svn更新之前检查本地目录是否为工作副本

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

我正在使用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/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;
    }
}