كيف يمكنني اختلاف مستودع SVN باستخدام SharpSVN

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

  •  26-09-2019
  •  | 
  •  

سؤال

سؤالي بسيط للغاية ومع API SharpSVN ، يجب أن يكون سهلاً أيضًا. هنا ما فعلته:

path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
    SvnLookOrigin o = new SvnLookOrigin(path);
    Collection<SvnChangedEventArgs> changeList;
    client.GetChanged(o, out changeList); // <-- Exception
}

وعندما أدعو getChanged ، أحصل على استثناء:

لا يمكن فتح ملف "C: Project Format": لا يمكن للنظام العثور على الملف المحدد.

لذا ، ربما هناك شيء أفتقده؟ أو ربما لا تكون هذه هي الطريقة الصحيحة لمعرفة قائمة الملفات والمجلدات التي تم تعديلها في المستودع المحلي؟

شكرا مقدما.

هل كانت مفيدة؟

المحلول

فئة SVNLookClient في SharpSVN هي ما يعادل تطبيق وحدة التحكم "SVNLook". إنها أداة منخفضة المستوى تتيح خطافات المستودع من البحث في معاملات محددة لمستودع باستخدام وصول الملف المباشر.

ربما ترغب في استخدام فئة SVNClient للنظر في وظيفة العمل وعلى الأرجح حالتها () أو في بعض الحالات ، وظيفة GetStatus () في بعض الحالات لمعرفة ما الذي تم تغييره.

نصائح أخرى

المسار الذي يريده مُنشئ svnlookorigin هو في الواقع:

path = "c:\project\.svn\";

أي أنه يريد هذا الدليل الخاص ".SVN" ليس فقط جذر المكان الذي يتم فيه فحص المصدر إليه.

رغم ربما تريد الاستماع إلى بيرت والقيام بشيء مثل:

path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
    SvnLookOrigin o = new SvnLookOrigin(path);
    Collection<SvnChangedEventArgs> changeList;
    client.GetStatus(o, out changeList); // Should now return the differences between this working copy and the remote status.
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top