Tôi muốn thêm tất cả các tệp không phiên bản trong thư mục vào SVN bằng SharpSVN.Thêm tệp bằng SharpSVN
tôi đã cố gắng lệnh svn thường xuyên trên dòng lệnh đầu tiên:
C:\temp\CheckoutDir> svn status -v
tôi thấy tất cả subdirs, tất cả các file mà đã được kiểm tra tại, một vài tập tin mới được dán nhãn, không có gì có chữ "L "?" "chỉ báo khóa
C:\temp\CheckoutDir> svn add . --force
Điều này dẫn đến tất cả các tệp mới trong các subdir, đã được tự kiểm soát phiên bản.
Tôi muốn thực hiện tương tự bằng SharpSVN. Tôi sao chép một vài tập tin thêm vào cùng thư mục và chạy mã này:
...
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);
}
}
Nhưng một SvnException được nâng lên:
- SvnException.Message: Làm việc sao chép 'C: \ temp \ CheckoutDir' khóa
- SvnException.File: .. \ .. \ .. \ lật đổ \ libsvn_wc \ lock.c"
Không dụ svnclient khác đang chạy trong mã của tôi, tôi cũng đã cố gắng gọi
svn.cleanup()
ngay trước khi Thêm, nhưng vô ích.
Vì số documentation khá mơ hồ;), Tôi đã tự hỏi liệu có ai ở đây biết câu trả lời hay không.
Cảm ơn trước!
Jan
Bạn đã thử hỏi trên các bảng thảo luận của SharpSVN chưa? Bạn có thể có được một phản ứng tốt hơn ở đó. – hao
Tôi sẽ, trong thời gian đó, tôi đã xem xét mã kiểm tra Đơn vị: http://sharpsvn.open.collab.net/source/browse/sharpsvn/trunk/src/SharpSvn.Tests/Commands/AddTests.cs TestAddDirectoryRecursively làm một cái gì đó tương tự, nhưng Thêm một dir1 mới dưới WorkingcopyPath và everyting trong nó. Tôi muốn Thêm tất cả mọi thứ trong bản thân WorkingCopyPath. – jan