2014-05-06 266 views
1

下面是從工作副本(祖先文件夾)中排除文件夾的一些代碼。當我在該行中斷時,「r」顯示System.InvalidOperationException。排除工作嗎?使用SharpSVN .NET庫時,我可以選擇什麼選項。對於任何其他深度類型,我都沒有遇到與排除有關的任何問題。SharpSVN:SvnDepth.Exclude拋出異常

  SvnUpdateArgs updateArgs2 = new SvnUpdateArgs(); 
      updateArgs2.Depth = SvnDepth.Exclude; 
      SvnUpdateResult r = null; 
      client.Update(path, updateArgs2, out r); 
      string x = r.ToString(); 

r.GetType().GenericParemeterAttributes= 「 'r.GetType()。GenericParameterAttributes' 扔 'System.InvalidOperationException' 類型的異常」

r.GetType().GenericParemeterAttributes.base=「方法可以僅被稱爲上的鍵入,其Type.IsGenericParameter爲true「。

我不確定它指的是哪種類型。

===========

編輯:

這個工作!

SvnUpdateArgs updateArgs2 = new SvnUpdateArgs(); 
       updateArgs2.Depth = SvnDepth.Exclude; 
       updateArgs2.KeepDepth = true; 
       SvnUpdateResult r = null; 
       client.Update(path, updateArgs2, out r); 

回答

1

要看你的具體異常,我真的需要一個堆棧跟蹤,而不僅僅是一些上下文錯誤。

要排除路徑,您應該將SvnUpdateArgs上的.KeepDepth設置爲true。

沒有.KeepDepth你的代碼就相當於

$ svn up --depth exclude PATH 

這將產生一個錯誤。

與.KeepDepth這將是

$ svn up --set-depth exclude PATH 

,您嘗試應用。

在SharpSvn更容易使用稍微低的水平

SvnClient.CropWorkingCopy(PATH, SvnDepth.Excluded) 

因爲這使得它更清楚你試圖做什麼。

+0

當我使用此代碼時,出現此錯誤:「您只能裁剪節點到空和文件之間的深度。參數名稱:toDepth ...實際值爲Exclude。」 – MacGyver

+0

添加「KeepDepth = true」爲原始代碼工作!非常感謝你!! – MacGyver

+0

你知道我可以在哪裏下載SharpSVN的實際源代碼嗎?什麼網站是該圖書館的來源? – MacGyver