كيف يمكنني عرض التغييرات التي تم إجراؤها بعد إجراء المراجعة وتحليلها للتعليقات؟

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

  •  08-07-2019
  •  | 
  •  

سؤال

كنت أتمنى أتمتة بعض المهام المتعلقة بـ SubVersion، لذلك حصلت على SharpSvn.لسوء الحظ لا أستطيع العثور على الكثير من الوثائق لذلك.

أريد أن أكون قادرًا على عرض التغييرات بعد قيام المستخدم بإجراء مراجعة جديدة حتى أتمكن من تحليل الكود الخاص بالتعليقات الخاصة التي يمكن بعد ذلك تحميلها في نظام التذاكر الخاص بي.

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

المحلول

إذا كنت تريد فقط تصفح SharpSvn، فيمكنك استخدامه http://docs.sharpsvn.net/.الوثائق هناك بعيدة عن الاكتمال حيث ينصب التركيز في المقام الأول على توفير الميزات.نرحب بأي مساعدة بشأن تحسين الوثائق (أو SharpSvn نفسها) ؛-)

لاستخدام رسائل السجل لمتتبع المشكلات لديك، يمكنك استخدام طريقين:

  1. خطاف ما بعد الالتزام يعالج التغييرات واحدًا تلو الآخر
  2. خدمة مجدولة تستدعي 'svn log -r <last-retrieve>:HEAD' بين الحين والآخر.

تتمتع الإصدارات اليومية الأخيرة من SharpSvn ببعض الدعم لخطافات الالتزام، ولكن هذا الجزء ليس مستقرًا لواجهة برمجة التطبيقات حتى الآن.

يمكنك إنشاء رابط التزام النشر (post-commit.exe) باستخدام:

static void Main(string[] args)
{
  SvnHookArguments ha;
  if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
  {
    Console.Error.WriteLine("Invalid arguments");
    Environment.Exit(1);
  }

  using (SvnLookClient cl = new SvnLookClient())
  {
    SvnChangeInfoEventArgs ci;
    cl.GetChangeInfo(ha.LookOrigin, out ci);

    // ci contains information on the commit e.g.
    Console.WriteLine(ci.LogMessage); // Has log message

    foreach(SvnChangeItem i in ci.ChangedPaths)
    {
       //
    }
  }
}

(للحصول على حل كامل، سيتعين عليك أيضًا ربط تغيير ما بعد revprop، حيث قد يقوم المستخدمون لديك بتغيير رسالة السجل بعد الالتزام الأول)

نصائح أخرى

وأتساءل عما إذا كان السنانير التخريب (في الملقم إس) قد لا تكون مقاربة أخرى هنا؟ لم أحاول ذلك، ولكن CaptainHook يبدو لتقديم إس -> هوك التكامل NET

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