أداة سطر الأوامر لدمج النسخ الاحتياطية لمكتبة JW بسهولة ، مكتوبة في GO. لإصدار iOS ، تفضل بزيارة iOS-JWLM.
يتيح لك GO -JWLM دمج ملفات النسخ الاحتياطي .jwlibrary ، مع إعطائك التحكم في العملية - ملاحظاتك ثمينة ، ولا تحتاج إلى الوثوق في برنامج يحل تعارضات دمج محتملة لك.
لقد قمت بإنشاء هذا المشروع بهدف وجود أداة قادرة على العمل على أنظمة تشغيل متعددة ، وحتى السماح بدمجه في البرامج الأخرى كمكتبة (مثل تطبيق iOS). إنه - وسيكون لبعض الوقت - مشروع عمل في مجال التقدم ، لذلك أنا منفتح دائمًا على الاقتراح وخاصة التقارير إذا واجهت سلوكًا غير متوقع أو أخطاء أخرى.
الاستخدام بسيط للغاية: لديك أمر واحد ، يمكنك تسمية ملفات النسخ الاحتياطي - واضغط على Enter. ستقوم الأداة بدمج جميع الإدخالات بالنسبة لك. إذا واجهت تعارضًا (مثل نفس الملاحظة مع محتوى مختلف أو علامات تداخلان) ، فسيطلب منك الاتجاهات: هل يجب أن تختار الإصدار الأيسر أو الإصدار الأيمن؟ بعد الانتهاء من ذلك ، لديك نسخة احتياطية تم دمجها بشكل جيد يمكنك استيرادها إلى تطبيق مكتبة JW الخاص بك. قد تستغرق عملية الدمج الأولى بعض الوقت بسبب عدد الصراعات المحتملة ، اعتمادًا على مدى انطلاق النسخ الاحتياطية. ولكن إذا قمت بدمجها بانتظام ، فيجب أن تكون مسألة ثوانٍ :)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
في حالة حدوث تعارض أثناء الاندماج ، ستطلب الأداة التوجيهات: إذا اختارت الإصدار الأيسر أو الإصدار الأيمن. لذلك ، يوضح لك الإدخالات الفعلية (أخطط لتحسين هذا العرض وإضافة المزيد من المعلومات ، وخاصة حول المنشورات ، في المستقبل). إذا لم تكن متأكدًا مما يجب فعله ، فاضغط ?
للمساعدة.
حاليًا ، هناك ثلاثة حلول يمكنك استخدامها لحل النزاعات تلقائيًا: chooseLeft
و chooseRight
و chooseNewest
(على الرغم من أن آخر واحد قابل للاستخدام فقط للملاحظات). كما تشير أسماءهم ، سيختار chooseLeft
و chooseRight
دائمًا نفس الجانب في حالة حدوث الصراع ، بينما يختار chooseNewest
دائمًا أحدث إدخال.
يمكنك تمكين هذه الحلول مع --bookmarks
، --markings
، --notes
، و- --inputFields
:
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
تعد حلول الصراع مفيدة للدمج المنتظم عندما تكون متأكدًا من أن جانبًا واحدًا دائمًا هو الأكثر حداثة. لدمج أول ، لا يزال يوصى بحل النزاعات يدويًا ، لذلك لا تخاطر بإدخالات الكتابة فوقها عن طريق الخطأ.
لمقارنة ملفين احتياطي سريعين وتحقق مما إذا كان محتوىهما متساويًا ، يمكنك استخدام أمر go-jwlm compare <left-backup> <right-backup>
. يستخدم هذا بشكل أساسي للتحقق من الصحة ، ولكنه قد يكون مفيدًا في المواقف الأخرى :)
يمكنك العثور على الثنائيات المترجمة لنظام التشغيل Windows و Linux و Mac ضمن قسم الإصدار.
يمكن تثبيت GO-JWLM بسهولة باستخدام Hombrew:
brew install andreassko/homebrew-go-jwlm/go-jwlm
انظر الإرشادات حول كيفية تثبيت homebrew على https://brew.sh
إذا كنت ترغب في دمج النسخ الاحتياطية باستخدام جهاز iPhone أو iPad ، فقم بإلقاء نظرة على JWLM. يستخدم منطق الدمج الكامل لـ GO-JWLM ، لكنه يلفه في تطبيق iOS لطيف وسهل الاستخدام. إنه متوفر بالفعل في متجر التطبيقات.
قد يأتي إصدار Android في مرحلة ما ، لكنني شخصياً لا أستخدم أي أجهزة Android ، فهي - للأسف - ليست أولوية أعلى بالنسبة لي الآن. إذا كنت مهتمًا بالمساعدة في هذا المشروع ، فلا تتردد في الاتصال بي أو بدء تشغيله بنفسك :)
يتيح Gomobile تضمين حزم GO داخل تطبيق الهاتف المحمول. نظرًا لأن هناك بعض القيود ، فقد قمت ببناء غلاف لمعظم الهياكل والأساليب. لإنشاء الربط بنفسك ، قم بتثبيت gomobile ، وتغيير إلى دليل gomobile
لهذا الريبو وتشغيل gomobile bind -target <ios or android>
.
استغرق الأمر مني بعض الوقت لأثق في برنامجي الخاص ، لكنني ما زلت أحتفظ بنسخ احتياطية لمكتباتي - وكذلك يجب عليك. لا يزال Go-jwlm في مرحلة بيتا ، لذلك هناك احتمال أن يضيع شيء ما بسبب خطأ لم يسبق له مثيل. لذا يرجى وضع ذلك في الاعتبار و - مرة أخرى - إذا وجدت خطأ ، فلا تتردد في فتح مشكلة.
شيء غير واضح ، لديك اقتراحات للتوثيق أو وجدت خطأ؟ لا تتردد في فتح مشكلة. يسعدني المساعدة ، على الرغم من يرجى التحلي بالصبر إذا استغرق الأمر بعض الوقت بالنسبة لي للرد :)