"Git-P4 Clone" فشل "نصيحة جديدة ... لا تحتوي على ..."

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

  •  27-09-2019
  •  | 
  •  

سؤال

أنا أعمل على Windows ، مع عميل Windows P4 ، و Git مثبتًا عبر Cygwin. يعلن عميل P4 عن كيفية بناء بناء الجملة الخاص به عبر المنصات وكل ذلك ، بحيث يجب أن يكون ذلك ضئيلًا.

لذلك عندما أذهب إلى git-p4 clone --verbose //depot/path/to/source, ، يسرد جميع الملفات الموجودة في المستودع كما لو تم فحصها ، ثم يموت قائلاً

الاستثناء: فشل الاستيراد السريع: تحذير: عدم تحديث الحكام/عن بعد/P4/Master (نصيحة جديدة CD601B92DA8625C90AF05685E450E55B6D19C9E9

ويختتم مع كتلة كبيرة من "إحصاءات الاستيراد git-fast". النظر إلى الخطأ: نصيحة جديدة؟ هاه؟ ما الذي يحتاج إلى احتوائه؟

ما تركته هو repo .git وهو بضعة ميج (أكثر بكثير ، أصغر بكثير من شجرة المصدر الكاملة). أيه أفكار؟

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

المحلول

لقد واجهت مشكلة مماثلة ويمكن تتبعها عادةً إلى الغلاف في المسارات وأسماء الفروع وما إلى ذلك. لست متأكدًا من P4 ولكن تأكد من عدم وجود فرع رئيسي - يجب أن يكون سيدًا. اتبع نفس الفوج في جميع المجالات. أيضا ، تجنب أسماء الدليل والملفات مع المساحات فيها. الكثير من الأدوات المتمحورة حول GIT لا تحب ذلك. الجيتوليت هو مثال واحد. لن يسمح بمستودع يحتوي على مساحة فيه.

نصائح أخرى

على غرار الإجابة المقبولة ، واجهت نفس المشكلة عند محاولة المزامنة مع فرع GIT في النموذج:

git p4 sync --branch=feature/f1 //depot/path/to/code

يبدو أن / في اسم الفرع تسبب نفس التحذير الفاشل للاستيراد السريع. لسوء الحظ ، لا يبدو أن GIT-P4 يدعم أسماء فروع GIT-Flow القياسية.

التغيير إلى فرع مثل هذا يعمل:

git p4 sync --branch=f1 //depot/path/to/code

هل تحصل على "تجاهل المراجعة XYZ لأنها ستنتج التزامًا فارغًا" لأول CL التي يتم استيرادها؟

إذا كان الأمر كذلك ، فأنت تضغط على خطأ في Git-P4.py حيث يقوم بمسح إعداد "الأولي" (ضروري حتى يتمكن Git Fast-Emport من الانضمام إلى الالتزامات الجديدة حتى الاستيراد السابق) قبل أن يرتكب أي شيء فعليًا. لذلك يتم ترك الدفق الجديد للملفات المستوردة غير متصل بالقديم.

أنا أعمل حاليًا حول هذا باستخدام -changesfile والعمل بشكل صريح الذي يحتاجه CL إلى استيراده.

واجهت مشاكل مماثلة. ما نجح بالنسبة لي هو تحديث رمز Git-P4 Python. يمكنك إلقاء نظرة على الالتزام هنا, ، ولكن نأمل أن يتم سحبها قريبًا.

لقد واجهت أيضًا خطأ "TIP X الجديد X لا يحتوي على خطأ Y" الذي يعمل على الاستيعاب السريع.

في حالتي ، كان هذا ناتجًا عن التزام مسبق غير ذي صلة في الفرع الرئيسي لإعادة الريبو التي كنت أحاول الاستيراد إليها. كنت قد قمت بتهيئة الريبو مع عميل Github الذي أضاف التزامًا أوليًا (لإضافة ملف .gitignore). من المفترض أن أداة الاستيراد السريعة لا يمكن أن تتوافق مع الالتزامات المستوردة مع الوضع الحالي للفرع لأن التزام أداة Github لم يكن له علاقة مع الالتزامات التي يتم استيرادها.

كان الحل بالنسبة لي هو تهيئة ريبو فارغة بدلاً من ذلك مع "git init" ثم تشغيل الاستيراد السريع.

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