1

我正在使用 SharpSvn 库。我想检查我在本地拥有的文件是否与颠覆服务器上的文件相同。有谁知道我是怎么做到的?目前这是我正在尝试做的,但它说“无法连接到 URL 上的存储库”

    public bool IsDirectoryTheSame(string folderpath)
    {
        var IsSameDirectory = false;
        var installfolderlocal = GetInstallationFolder(folderpath);
        using (SvnClient svnClient = new SvnClient())
        {
            SvnUriTarget target1 =
                new SvnUriTarget(
                    new Uri(string.Format("{0}{1}", svnclientpath, folderpath)));
            SvnUriTarget target2 =
                new SvnUriTarget(
                    new Uri(installfolderlocal));

            using(var stream = new MemoryStream())
            {
            IsSameDirectory =  svnClient.Diff(target1,target2,stream);
            }
        }
        return IsSameDirectory;
    }
4

1 回答 1

1

我从您的问题中假设本地文件是受版本控制的,在这种情况下,您可以使用 GetInfo() 获取存储库中文件的最新修订号,并将其与本地文件的最新修订号进行比较。

另一个建议是使用 GetUriFromWorkingCopy()。我个人没有亲自测试过,但值得一试。

无论如何,您应该将差异作为最后​​的手段,因为这可能是一个昂贵的调用。但是,如果文件不受版本控制,那可能是您唯一的选择。

于 2013-04-10T17:06:09.047 回答