如何检查svn上的文件是否与本地文件c# (sharpsvn)相同

本文关键字:文件 相同 sharpsvn 是否 何检查 检查 svn | 更新日期: 2023-09-27 18:08:22

我正在使用SharpSvn库。我想检查我在本地拥有的文件是否与subversion服务器上的文件相同。有人知道我是怎么做的吗?目前这就是我想做的,但它说"无法连接到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;
    }

如何检查svn上的文件是否与本地文件c# (sharpsvn)相同

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

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

无论如何,你应该使用区别作为最后的手段,因为这可能是一个昂贵的调用。但是,如果文件不是版本控制的,那么这可能是您唯一的机会。