我想使用SharpSVN將目錄下的所有未版本控制的文件添加到SVN。使用SharpSVN添加文件
我在命令行中第一次嘗試定期SVN命令:
C:\temp\CheckoutDir> svn status -v
我看到所有子目錄,一切都已經檢查的文件,一些新的文件標記,沒什麼用「L「?」 「鎖定指示
C:\temp\CheckoutDir> svn add . --force
這會導致子目錄中已添加了版本控制的所有新文件。
我想用SharpSVN來做同樣的事情。我複製了一些額外的文件在同一目錄,並運行此代碼:
...
using (SharpSvn.SvnClient svn = new SvnClient())
{
SvnAddArgs saa = new SvnAddArgs();
saa.Force = true;
saa.Depth = SvnDepth.Infinity;
try
{
svn.Add(@"C:\temp\CheckoutDir\." , saa);
}
catch (SvnException exc)
{
Log(@"SVN Exception: " + exc.Message + " - " + exc.File);
}
}
但是一個SvnException上升:
- SvnException.Message:工作副本 'C:\ TEMP \ CheckoutDir' 鎖定
- SvnException.File:.. \ .. \ .. \顛覆\ libsvn_wc \ lock.c」
沒有其他svnclient實例在我的代碼運行, 我也打過電話
svn.cleanup()
就在添加之前,但無濟於事。
由於documentation比較模糊;), 我想知道是否有人知道答案。
在此先感謝!
1月
您是否試過在SharpSVN討論板上提問?你可能會在那裏得到更好的迴應。 – hao 2009-06-08 16:30:54
我會,同時我看單元測試代碼:http://sharpsvn.open.collab.net/source/browse/sharpsvn/trunk/src/SharpSvn.Tests/Commands/AddTests.cs TestAddDirectoryRecursively做了類似的事情,但在WorkingcopyPath下添加了一個新的dir1,並在其中添加了一個新的dir1。我想在WorkingCopyPath本身下添加所有內容。 – jan 2009-06-08 17:29:16