كيفية معرفة ما اذا كان الملف موجود ضمن التحكم بالمصادر في SharpSvn؟

StackOverflow https://stackoverflow.com/questions/868701

  •  22-08-2019
  •  | 
  •  

سؤال

ومرحبا أنا استخدم 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(). هذا الأسلوب هو عادة أسرع لأنه لم يكن لديك لمعرفة ما اذا كان قد تغير الملف منذ أن تم التحقق من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top