كيفية معرفة ما اذا كان الملف موجود ضمن التحكم بالمصادر في SharpSvn؟
سؤال
ومرحبا أنا استخدم C # و مكتبة SharpSvn. وأود أن معرفة ما اذا كان الملف موجود ضمن التحكم بالمصادر قبل إضافتها مع SvnClient.Add. عندما أفعل ذلك على ملف موجود ضمن SVN مما كنت تحصل على خطأ: "هو بالفعل تحت سيطرة نسخة"
المحلول
وهذا يدل بشكل جيد كيفية القيام بذلك باستخدام الوضع
using(SvnClient client = new SvnClient())
{
SvnStatusArgs sa = new SvnStatusArgs();
sa.Depth = SvnDepth.Empty; // Adjust this to check direct files, or (recursive) directories etc
Collection<SvnStatusEventArgs> statuses;
client.GetStatus("c:\\somefile.txt", sa, out statuses);
Assert.That(statuses.Count, Is.EqualTo(1));
Assert.That(SvnStatus.NotVersioned, Is.EqualTo(statuses[0].LocalContentStatus));
}
نصائح أخرى
إذا كنت تريد فقط لمعرفة ما إذا كان الملف موجود ضمن التحكم بالمصادر التي يمكن استخدامها .Info()
/ .GetInfo()
. هذا الأسلوب هو عادة أسرع لأنه لم يكن لديك لمعرفة ما اذا كان قد تغير الملف منذ أن تم التحقق من ذلك.
لا تنتمي إلى StackOverflow