كيف يمكنني تحديد نسخة تخطيط نسخة SVN العمل؟

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

  •  21-09-2019
  •  | 
  •  

سؤال

على سبيل المثال ، لدى عميل SVN 1.5 تصميمًا واحدًا لنسخ العمل ، وله عميل SVN 1.6 لديه تصميم مختلف. أفهم أن التصميم يتم ترقيته تلقائيًا عندما يتم لمسه من قبل عميل أحدث.

إذا كان لدي نسخة عمل على نظامي ، فكيف يمكنني معرفة إصدار التخطيط الذي يستخدمه؟

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

المحلول

لو .svn/format موجود ، ثم اقرأ الرقم فيه:

  • الإصدار 7 هو SVN 1.3
  • الإصدار 8 هو SVN 1.4
  • الإصدار 9 هو SVN 1.5

لو .svn/format غير موجود ثم رقم الإصدار موجود في السطر الأول في .svn/entries:

  • الإصدار 10 هو SVN 1.6
  • الإصدار 12 هو SVN 1.7

كان Subversion 1.6 أول من لم يستخدم .svn/format. الإصدار 7 وما فوق القائم على XML المستخدمة .svn/entries الملف ، تستخدم الإصدارات الأحدث تنسيق ملف قائم على خط أقل.

منذ التخريب 1.7 يتم تخزين رقم الإصدار في .svn/wc.db قاعدة بيانات SQLite في حقل "user_version". لذا بالرغم من .svn/format يتم صدمه إلى الإصدار 12 إصدار التنسيق الفعلي هو 29 وقد لا يتم تحديث الإصدارات المستقبلية .svn/format أي أكثر من ذلك. للحصول على رقم الإصدار من .svn/wc.db هناك طريقتان:

  1. اذا كنت تمتلك sqlite3 في طريقك ، sqlite3 .svn/wc.db "PRAGMA user_version"
  2. إذا لم يكن لديك sqlite3 في طريقك ، افتح .svn/wc.db في محرر سداسي عشري وقراءة DWORD عند الإزاحة 0x3C

يتم وصف جميع أرقام نسخ التنسيق في WC.H جنبا إلى جنب مع أرقام الإصدار من إصدارات التخريب المعنية.

نصائح أخرى

من سؤال سداد المكدس اكتشف نسخة نسخة العمل SVN (1.7 أو 1.8):

يمكن للمرء استخدام sqlite3 .svn/wc.db "PRAGMA user_version" على SVN 1.7 أو أحدث (أو od -An -j63 -N1 -t dC .svn/wc.db إذا كان لديك فقط SQLITE 3.0 المكتبات ، YMMV).

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