2010-07-09 10 views
6

के लिए डिफ़ॉल्ट सेट कैसे करें मैं क्लाइंट स्पेक विकल्पों और सबमिट-विकल्प के डिफ़ॉल्ट सेट को बदलने का तरीका खोजने का प्रयास कर रहा हूं।perforce क्लाइंट चश्मा

set P4CLIENT=my_new_client_1 
p4 client 

मुझे निम्नलिखित कल्पना डिफ़ॉल्ट-कल्पना देता है:

Client: my_new_client_1 
... 
Options: noallwrite noclobber nocompress unlocked nomodtime normdir 

SubmitOptions: submitunchanged 
... 

अब मेरी मशीन पर मैं हमेशा revertunchanged, rmdir उदाहरण के लिए उपयोग करना चाहते हैं, लेकिन ऐसा लगता है मैं इसे मैन्युअल रूप से हर सेट करने के लिए याद की जरूरत है की तरह मैं एक नया ग्राहक बनाते हैं।

क्या यह हासिल करने का कोई तरीका है? पी 4 सेट केवल उन चीज़ों को प्रभावित करता है जिन्हें पर्यावरण चर द्वारा सेट किया जा सकता है।

उत्तर

7

आप डिफ़ॉल्ट क्लाइंट स्पेक टेम्पलेट नहीं बदल सकते हैं (जब तक आप पर्सफोर्स सिस्टम व्यवस्थापक नहीं होते) लेकिन आप अपना खुद का टेम्प्लेट सेट अप और उपयोग कर सकते हैं। आप पहली बार एक ग्राहक कल्पना के साथ एक डमी ग्राहक बन जाएगा मान जो आप चाहते है कि:

Client: my_template_client 
... 
Options: noallwrite noclobber nocompress unlocked nomodtime rmdir 

SubmitOptions: revertunchanged 
... 

तो फिर तुम सिर्फ यह दर्शाते हैं कि डमी ग्राहक जब नए ग्राहकों को बनाने के लिए एक टेम्पलेट के रूप में इस्तेमाल किया जाना चाहिए:

p4 client -t my_template_client my_new_client_1 
+0

धन्यवाद, मैं संदिग्ध मैं टेम्पलेट्स का सहारा लेना होगा। मुझे लगता है कि उपरोक्त आपकी कमांड लाइन अंत में "क्लाइंट" गायब है;) – Greg

+0

ओह, क्षमा करें। यह 'पी 4 क्लाइंट -t my_template_client my_new_client_1' – rettops

3

यहां पहली प्रतिक्रिया गलत थी:

आप ट्रिगर्स का उपयोग करके पर्सफोर्स में एक डिफ़ॉल्ट क्लाइंटपेक बना सकते हैं।

अनिवार्य रूप से, आप एक स्क्रिप्ट बनाते हैं जो सर्वर पर चलता है और जब भी कोई फॉर्म क्लाइंट पर फॉर्म-आउट करता है तब चलता है। इस स्क्रिप्ट को यह देखने के लिए जांचना होगा कि क्लाइंटपेक पहले से मौजूद है या नहीं, और उसके बाद एक समझदार "डिफ़ॉल्ट" को प्रतिस्थापित करें यदि यह नहीं करता है (यदि यह एक नया क्लाइंटपेक है)।

ध्यान दें कि यह ठीक और अच्छी तरह से काम करता है, और यह पी 4 SysAdmin गाइड में भी है (सटीक उदाहरण जो आप ढूंढ रहे हैं वहां है!) लेकिन डीबग करना थोड़ा मुश्किल हो सकता है, क्योंकि ट्रिगर सर्वर पर चलते हैं, ग्राहक पर नहीं!

मैनुअल: http://www.perforce.com/perforce/r10.1/manuals/p4sag/06_scripting.html

विशेष मामले के उदाहरण: http://www.perforce.com/perforce/r10.1/manuals/p4sag/06_scripting.html#1057213

+2

ध्यान दें कि मेरी पहली पंक्ति ने कहा "जब तक आप पर्सफोर्स सिस्टम व्यवस्थापक नहीं हैं"। आपके उदाहरण पर्सफोर्स सिस्टम प्रशासक गाइड से हैं। ट्रिगर्स को केवल पर्सफोर्स सुपरसर्स द्वारा परिभाषित किया जा सकता है। – rettops

+1

जानकारी के लिए धन्यवाद - मुझे शायद ट्रिगर सेट करने की अनुमति नहीं होगी, लेकिन मैं इसे जाने दूंगा। मुझे लगता है कि आपने जो कुछ रखा है वह यहां कुछ मूल्यवान है, इसलिए शायद मैं इसे दो प्रश्नों में विभाजित कर सकता हूं - एक सख्ती से मूल उपयोगकर्ता के लिए और एक अधिक पूर्ण पहुंच वाले लोगों के लिए। – Greg

संबंधित मुद्दे