1

我正在使用 c# 编程提取 svn 存储库。我在我的项目中添加了sharpsvn dll并编写了以下代码

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”检查文件/文件夹到这个文件夹。

下次我运行该程序时,它应该会自动更新而无需结帐。我怎么知道服务文件夹是否已经检查过一次,现在应该更新?

4

1 回答 1

7

您可以确定一个目录是否是这样的工作副本:

public static bool IsWorkingCopy(string path)
{
    using (var client = GetSvnClient())
    {
        var uri = client.GetUriFromWorkingCopy(path);
        return uri != null;
    }
}
于 2012-11-21T19:22:00.490 回答