2013-04-10 147 views
1

我正在使用SharpSvn庫。我想檢查我本地的文件是否與Subversion服務器上的文件相同。有誰知道我是如何做到這一點的? 目前,這是我想要做的,但它是說「無法在URL連接到存儲庫」如何檢查svn上的文件是否與本地文件相同C#(sharpsvn)

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; 
    } 
+0

您可以比較校驗和。 – Botonomous 2013-04-10 13:56:49

回答

1

我從你的問題如果本地的文件版本控制,在這種情況下,您可以使用GetInfo()獲取存儲庫中文件的最新版本號,並將其與本地文件的最新版本號進行比較。

Another suggestion將使用GetUriFromWorkingCopy()。我個人沒有親自測試過,但是值得一試。

無論如何,你應該使用差異作爲最後​​的手段,因爲這可能是一個昂貴的電話。如果該文件不受版本控制,但是,這可能是您唯一的拍攝。

+0

提交一個文件來檢查它是否被更改並不是真正有用的解決方案。 – metalhead 2013-04-10 17:09:14

+0

是的,我刪除了答案的一半,因爲如您所說,用戶並不希望自己承擔更改。 – watkinsmatthewp 2013-04-10 18:23:20

+0

感謝這有助於 – Trustos 2013-04-11 09:53:17

相關問題