سؤال

أنا في بعض الأحيان استخدام ميزة 'التوفيق بين العمل غير...' وجدت في بالضرورة هو P4V IDE إلى مزامنة أي الملفات التي كنت قد تم العمل على حين قطع من P4 مستودع.أنها تطلق نافذة أخرى أن ينفذ 'مجلد مهرجان دبي السينمائي الدولي'.

لدي ملفات لا أريد أن تحقق في مصدر عنصر التحكم (مثل تلك التي وجدت في بن المجلد مثل ملفات Dll, رمز الإخراج التي تم إنشاؤها ، إلخ.) هل هناك طريقة تصفية تلك الملفات/المجلدات من الظهور مثل "الجديد" التي يمكن أن تضاف.أنها تميل إلى أن تحدث فوضى قائمة الملفات التي أنا فعلا مهتمة.لا P4 لديك أي ما يعادل التخريب هو تجاهل الملف' الميزة ؟

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

المحلول

اعتبارا من الإصدار 2012.1 ، بالضرورة يدعم P4IGNORE متغير البيئة.لقد قمت بتحديث جوابي هذا السؤال حول تجاهل الدلائل مع شرح كيف يعمل.ثم لاحظت هذا الجواب الذي هو الآن زائدة أعتقد.


على افتراض لديك عميل اسمه "العميل" ، دليل المسمى "فو" (الموجود في المشروع الخاص بك الجذر) ، كنت ترغب في تجاهل كل شيء .ملفات dll في شجرة الدليل ، يمكنك إضافة الأسطر التالية إلى مساحة العمل الخاصة بك عرض لإنجاز هذا:

-//depot/foo/*.dll //CLIENT/foo/*.dll
-//depot/foo/.../*.dll //CLIENT/foo/.../*.dll

السطر الأول يزيل لهم من الدليل "فو" و السطر الثاني يزيل لهم من كافة الدلائل الفرعية.الآن, عندما كنت 'التوفيق بين العمل غير...' ، كل .ملفات dll سيتم نقلها إلى "استبعاد ملفات" المجلدات في الجزء السفلي من المجلد مهرجان دبي السينمائي الدولي العرض.أنها سوف تكون في طريقك, ولكن لا يزال عرض والتلاعب بها إذا كنت حقا بحاجة إلى.

يمكنك أيضا أن تفعل ذلك بطريقة أخرى ، والتي سوف تقلل من "استبعاد المجلد" ملفات واحد فقط ، ولكن لن تكون قادرة على التعامل مع أي من الملفات التي يحتوي لأن الطريق سوف تكون فاسدة (ولكن إذا كنت ترغب فقط لهم للخروج من الطريق الخاص بك لا يهم).

-//depot/foo.../*.dll //CLIENT/foo.../*.dll

نصائح أخرى

نعم ، ولكن.

بالضرورة نسخة 2012.1 إضافة ميزة تعرف باسم p4ignore, مستوحاة من بوابة.ومع ذلك بالضرورة جعلت المطورين تغيير السلوك دون مبرر ، أن يحدث لجعل ميزة الكثير أقل فائدة.

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

أيضا بالضرورة هو تجاهل الميزة لا تعمل في الخروج من مربع.يمكنك إعداده بسهولة بما فيه الكفاية لنفسك ، ولكن آخرين لا تستفيد إلا أنها تختار في صراحة.المساهم الذي لم يكن قد قصد ارتكاب غير مرحب به الملفات (على سبيل المثال.a bin المجلد الذي تم إنشاؤه من قبل بناء النصي).

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

متعجبا ، بالضرورة مستندات يظهر '.p4ignore' على سبيل المثال تجاهل القاعدة التي هي إلى الوراء!إذا كانت القواعد مفيدة ، ينبغي أن تكون مشتركة كجزء من مستودع.


بالضرورة لا يزال من الممكن جعل جيدة على هذه الميزة.اختيار اتفاقية أسماء الملفات ، ويقول p4ignore.txt, لذا تعمل ميزة في الخروج من مربع.إسقاط P4IGNORE متغير البيئة, يؤدي إلى نتائج عكسية.تحرير مستندات, إلى تشجيع المطورين على حصة القواعد المفيدة.تتيح للمستخدمين كتابة الشخصية القواعد في ملف في المجلد الرئيسي كما بوابة لا.

إذا كنت تعرف أي شخص في قهرا, يرجى البريد الالكتروني لهم هذا المنصب.

هذا يعمل من الضرورة 2013.1 الجديدة P4IGNORE الآلية الأولى وأضاف في بيان, 2012.1, هو بالضرورة بلوق هنا:

https://www.perforce.com/blog/new-20121-p4ignore

كما انها حاليا وصفها ، يمكنك تعيين متغير بيئة "P4IGNORE" إلى اسم الملف الذي يحتوي على قائمة من الملفات إلى تجاهل.

حتى تتمكن من التحقق من ذلك أن ترى كيف كنت ترغب في ذلك.

إذا كنت ترغب في حل من شأنها أن تنطبق على كل عمل المساحات دون الحاجة إلى نسخها حولك (أو مسؤول النظام) يمكن أن ترفض تقديم هذه أنواع الملفات من خلال استخدام خطوط مثل أدناه في p4 حماية الجدول:

write user * * -//.../*.suo
write user * * -//.../*.obj
write user * * -//.../*.ccscc

أتذكر فعل هذا من قبل ولكن أنا لم يكن لديك الأذونات اللازمة لاختبار هذه هنا.تحقق من بالضرورة هو مسؤول النظام دليل ومحاولة الخروج منها

بالضرورة تيارات يجعل تجاهل الملفات أسهل بكثير من الإصدار 2011.1.وفقا الوثائق ، يمكنك تجاهل بعض ملحقات أو مسارات معينة في الدليل الخاص بك.

من p4 help stream

Ignored: Optional; a list of file or directory names to be ignored in
                 client views. For example:

                     /tmp      # ignores files named 'tmp'
                     /tmp/...  # ignores dirs named 'tmp'
                     .tmp      # ignores file names ending in '.tmp'

                 Lines in the Ignored field may appear in any order.  Ignored
                 names are inherited by child stream client views.

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

يمكنك تحرير تيار عبر p4 stream //stream_depot/stream_name أو النقر بزر الماوس الأيمن فوق تيار في p4v تيار الرأي.

وكما @svec الإشارة إلى القدرة على تحديد تجاهل الملفات في مساحة العمل قريبا, و هو في الواقع في P4 2012.1 بيتا.

سوف اقتراح باستخدام .p4ignore فقط يبدو للعمل مع WebSphere استوديو (P4WSAD) المساعد.حاولت فقط على بلدي المحلية ويندوز مربع أي الملفات والدلائل التي ذكرتها كانت لا تجاهلها.

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

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

التاريخية الجواب - لم تعد صحيحة.في هذا الوقت كانت مكتوبة في الأصل كان ذلك صحيحا ،

لا يمكن أن يكتب و تحقق في ملف الخادم سوف تستخدم لجعل تجاهل القواعد ؛ الجنرال غلوب أو regexp الملف نمط تجاهل في الضرورة.

إجابات أخرى العالمية تكوينات ملقم عالمية (وليس في مجلد).إجابات أخرى تظهر الأشياء التي قد عمل لك ، إذا كنت تريد خط واحد في طريقة العرض الخاصة بك في مجلد مرات عدد امتداد كنت ترغب في تجاهل في مجلد واحد ، أو أن توفر هذه القدرة في WebSphere استوديو الإضافات فقط ، أو توفر القدرة على مسؤولي الخادم ، ولكن ليس المتاحة للمستخدمين.

باختصار, لا تجد بالضرورة حقا ضعيفة في هذا المجال.بينما أقدر أن أولئك الذين يستخدمون الكسوف البرنامج المساعد يمكن استخدامها .p4ignore, و أعتقد أن هذا أمر عظيم ، فإنه يترك أولئك منا أن لا في الظلام.

تحديث:انظر الإجابة المقبولة جديدة P4IGNORE القدرة وأضاف منتصف عام 2012.

لقد وجدت أنه من الأسهل أن التوفيق بين العمل دون اتصال باستخدام باش سكربت مثل هذا واحد:

#!/bin/bash
# reconcile P4 offline work, assuming P4CLIENT is set
if [ -z "$P4CLIENT" ] ; then echo "P4CLIENT is not set"; exit 1; fi
unset PWD # confuses P4 on Windows/CYGWIN

# delete filew that are no longer present
p4 diff -sd ... | p4 -x - delete

# checkout files that have been changed.  
# I don't run this step.  Instead I just checkout everything, 
# then revert unchanged files before committing.
p4 diff -se ... | pr -x - edit

# Add new files, ignoring subversion info, EMACS backups, log files
# Filter output to see only added files and real errors
find . -type f \
 | grep -v -E '(\.svn)|(/build.*/)|(/\.settings)|~|#|(\.log)' \
 | p4 -x - add \
 | grep -v -E '(currently opened for add)|(existing file)|(already opened for edit)'

أنا مقتبس من هذا هذا بالضرورة قاعدة معارف.

أنا أبحث عن .p4ignore مثل الحل وكذلك (وليس واحدة مرتبطة معين IDE).حتى الآن أقرب ما وجدته هو p4delta.يبدو أنها سوف تفعل بالضبط ما الملصق الأصلي كان يسأل, وإن كان ذلك من خلال طبقة أخرى من المراوغة.

http://p4delta.sourceforge.net

للأسف, في حين أن هذا لا يبدو أن تنتج السليم قائمة الملفات لا أستطيع الحصول على "p4delta --تنفيذ" إلى العمل ("لا يمكن تعديل المجمدة سلسلة") و لم يتم تحديث هذا المشروع في العام.ربما أن الآخرين سوف يكون أفضل حظا.

إذا كنت تستخدم الكسوف بالضرورة المساعد, ثم في وثائق البرنامج المساعد قوائم عدة طرق تجاهل الملفات.

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