Libelektra: دمج الدمج ثلاثي الاتجاهات الجديد في الأدوات

تم إنشاؤها على ٢٩ أكتوبر ٢٠١٩  ·  17تعليقات  ·  مصدر: ElektraInitiative/libelektra

يجب تصحيح الأدوات لاستخدام الدمج الجديد

  • [] qt-gui (معdarddan)
  • [] elektrad (مع @ raphi011)
  • [] gsettings elektra_settings_backend_sync طريقة (معmpranj)
  • [] استيراد kdb
  • [] محرر kdb
  • [] قذيفة kdb
  • [] جبل kdb
  • [] kconfig (https://github.com/ElektraInitiative/kconfig معFelixResch)

ال 17 كومينتر

شكرا لك على الإبلاغ عن هذه المشكلة! لقد أضفت قائمة كاملة بجميع الأدوات أعلاه.

هل هناك أي مثال أو توثيق عن كيفية القيام بذلك؟

src/tools/kdb/cmerge.cpp هو الشيء الوحيد القريب من مثال على ذلك

أتفق مع @ raphi011 ، يجب أن يكون هناك بالتأكيد مثال جيد على كيفية استخدام واجهة برمجة التطبيقات.

أضفت "kconfig (https://github.com/ElektraInitiative/kconfig معFelixResch)"

سيساعد مثال وملف pkg-config حقًا في استخدام هذا.

أوافق تمامًا ، @ raphi011 ، هل يمكنك إضافة ملف التكوين pkg هذا لأنك تعرف بالفعل كيفية القيام بذلك وسيستغرق الأمر @ Chemin1 بعض الوقت للتعرف عليه.

لديك أمثلة في # 3235 و # 3236

لديك أمثلة في # 3235 و # 3236

في الواقع ، # 3235 ليس لديه اتصال بـ elektraMerge حتى الآن. لست متأكدًا حتى الآن من كيفية تنفيذ الدمج هنا ، لكنني سألقي نظرة عليها في أقرب وقت ممكن.

3222 في المقابل لديه واحد.

src / tools / kdb / cmerge.cpp هي الشيء الوحيد القريب من مثال على ذلك

ربما كانت كلمة "قريبة من" مضللة. cmerge.cpp مثالا أيضا.

سيستغرق الأمر @ Chemin1 بعض الوقت للتعرف عليه.

@ raphi011 شكرا لك على # 3241! @ markus2330 صحيح ، لم أفعل هذا من قبل ولا فكرة عن كيفية عمله.

darddan ، FelixResch سيكون رائعًا إذا كان بإمكانك إلقاء نظرة على هذه الأمثلة أيضًا.

@ Chemin1 أعتقد أن كل هذه الأمثلة ليست بالضبط ما يحتاجه kconfig أو elektrad. ما يحتاجونه هو شيء مثل ما يحدث في qt-gui.

في الواقع ، يمكنك إصلاح أمثلة / kdbset.c لاستدعاء API الخاص بك بدلاً من ذلك. سيكون هذا بالضبط ما سيحتاجه kconfig / elektrad. (راجع للشغل. سيتم تمرير userInput في الواقع إلى معلمة إستراتيجية elektraMerge. الجزء الذي يحتوي على "problemKey" الآن غير ذي صلة ، يمكنك إزالة هذا.).

آسف لعدم الإشارة سابقًا إلى وجود أمثلة / kdbset.c. ربما يحل هذا المثال محل الحاجة إلى برنامج تعليمي إضافي. بطريقة ما نحتاج إلى جعل هذا المثال أكثر بروزًا ، على الرغم من ذلك: على سبيل المثال ، الارتباط من البرنامج التعليمي للدمج وتضمينه في وثائق kdbSet. @ Chemin1 هل يمكنك القيام بذلك؟

@ Chemin1 أعتقد أن كل هذه الأمثلة ليست بالضبط ما يحتاجه kconfig أو elektrad. ما يحتاجونه هو شيء مثل ما يحدث في qt-gui.

هذا سيكون مفيد جدا راجع للشغل: ما هي الإستراتيجية المتوقعة التي يجب أن يستخدمها elektrad للدمج؟ ours ؟

elektrad ، مثل qt-gui بشكل مثالي يتصاعد للمستخدم ويسأل المستخدم عن كيفية المتابعة.

أعتقد أنك ستحتاج إلى بعض نقاط نهاية الدمج ، ويمكنك إرسال ما يريده المستخدم كمعامل.

في الأساس ، يجب القيام بشيء من هذا القبيل:

  1. في حالة فشل أي من نقاط النهاية بسبب تعارض (يمكن أن يحدث فقط لـ "عدم الحصول") ، يحصل المستخدم على نافذة منبثقة تفيد بأن شخصًا ما قام بتعديل KDB خارجيًا
  2. يختار المستخدم إحدى الاستراتيجيات ، في الوقت الحالي تكفي إستراتيجيتنا وإستراتيجياتهم
  3. عندما يؤكد المستخدم ، يتم استدعاء / kdbMerge (أو اسم مشابه) ، هنا يتم تنفيذ رمز كما في الأمثلة / kdbset.c (ستكون هناك حاجة أيضًا إلى ربط go ، أو ربما أفضل مباشرة لمكتبة الدمج)

أعتقد أن كل هذه الأمثلة ليست بالضبط ما يحتاجه kconfig أو elektrad. ما يحتاجونه هو شيء مثل ما يحدث في qt-gui.

همممم، حسنا. سآخذ نظرة على qt-gui.

@ raphi011 آمل أن تساعدك المكالمة في # 3247 قليلاً حتى لو كنت مرتبكًا بما نريد إظهاره مع المثال.

إذا كنت في حيرة من أمري مما نريد أن نظهره بالمثال.

ماذا الخلط حول؟ يوضح المثال كيف يجب على التطبيق / الأداة استدعاء elektraMerge عندما يفشل kdbSet.

@ Chemin1 يبدو أن القائمة لم تكن كاملة بعد كل شيء. فاتني elektra_settings_backend_sync. لم يستخدم الدمج ثلاثي الاتجاهات (بشكل أساسي لأنه رمز C ولن يكون من السهل جدًا استدعاء واجهة برمجة التطبيقات المدمجة القديمة هناك ولكن هذا الآن ، بفضلك ، لم يعد يمثل مشكلة) ولكنه يحتوي على TODO " إدارة الصراع "ليتم حلها. لقد أضفته في أعلى وظيفة.

أضع علامة على هذه المشكلة التي لا معنى لها حيث لم يكن لديها أي نشاط لمدة عام واحد. سأغلقه في غضون أسبوعين إذا لم يحدث أي نشاط آخر. إذا كنت تريد أن تعود إلى الحياة مرة أخرى ، فقم باختبار اتصال المشكلة عن طريق كتابة رسالة هنا أو إنشاء مشكلة جديدة مع باقي هذه المشكلة.
شكرا لك على مساهماتك: قلب متلألئ:

@ Chemin1 أي تقدم؟ سيكون من الرائع حقًا أن يتخلص 1.0.0 من كود الدمج القديم: sparkling_heart:

أنا آسف ، لكن لا يوجد تقدم حقيقي. لسوء الحظ ، لم أجد الوقت للقيام بأي مشاريع جانبية منذ شهور.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

mpranj picture mpranj  ·  3تعليقات

markus2330 picture markus2330  ·  3تعليقات

sanssecours picture sanssecours  ·  3تعليقات

sanssecours picture sanssecours  ·  4تعليقات

markus2330 picture markus2330  ·  3تعليقات