2010-01-21 7 views
20

के तहत perforce कमांड लाइन का उपयोग करने वाले मुद्दे तो, सिंक्रनाइज़ेशन के अलावा किसी अन्य चीज़ के लिए वर्सोर्स कमांड लाइन का उपयोग नहीं कर सकते हैं। मेरे कार्यक्षेत्र जड़ सेल्सियस के लिए मैप किया गया है: //claims1.0/main/... //cthiel/code/claims1.0/main/...साइगविन

: \ यहाँ मेरे मुवक्किल कल्पना की एक पंक्ति है जब भी मैं साइगविन को आग लगाता हूं और अपने डिपो (जैसे पी 4 एडिट) में किसी भी फाइल के साथ काम करने का प्रयास करता हूं, तो मुझे पथ '/cygdrive/c/code/commonTest/main.p4ignore' के साथ एक त्रुटि मिलती है। ग्राहक की जड़ 'सी: \' के तहत।

पथ मेल नहीं खाते हैं, क्योंकि सी: \ के सिगविन के बराबर/cygdrive/c है। तो यह कभी भी perforce कमांड लाइन के साथ फाइलें खोजने में सक्षम नहीं है।

क्या इसे ठीक करने का कोई तरीका है? यह बहुत परेशान है।

उत्तर

11

यहां तक ​​कि मो 'betta':
उपयोग cygwin p4 ग्राहक: http://filehost.perforce.com/perforce/r07.2/bin.cygwinx86/p4.exe

बस सुनिश्चित करें कि यह लाज़िमी/p4.exe से पहले अपने रास्ते में है या नहीं। और voila।

+0

यह संस्करण स्पष्ट रूप से नवीनतम/महानतम नहीं है, लेकिन अन्य संस्करण भी भाई निर्देशिकाओं में उपलब्ध हैं। –

+3

आप यहां से नवीनतम ग्राहक प्राप्त कर सकते हैं: http://www.perforce.com/downloads/complete_list "अन्य" पर क्लिक करें और फिर "साइगविन" – Philip

+1

नवीनतम साइगविन परफोर्स क्लाइंट ने मेरे लिए काम किया, धन्यवाद फिलिप! एनटीएक्स 86 2008 क्लाइंट का उपयोग करते समय मुझे सिग्विन के तहत पी 4 कॉनफिग को "अनदेखा" करने में परेशानी हो रही थी। समस्या 2010 और 2011 NTX86 p4.exe क्लाइंट के साथ नहीं होती है। – Bogatyr

35

मिले एक समाधान:
अपने .bashrc को यह करें:

function p4() { 
export PWD=`cygpath -wa .` 
/cygdrive/c/Program\ Files/Perforce/p4.exe [email protected] 
} 

निर्माण मेरे लिए एक आकर्षण की तरह।

+0

मुझे किसी कारण से साइगविन पी 4 क्लाइंट के लिए यह बेहतर लगता है। शायद मेरी ज्ञान की कमी - मैंने पाया कि सिग्विन बाइनरी ने मुझे पर्यावरण चर के माध्यम से एक पासवर्ड सेट करने की आवश्यकता है (हमेशा संवेदनशील डेटा के साथ env चर देखने के लिए भाग्यशाली), और फिर भी मुझे एक ही त्रुटि मिल गई। यह जादूगर काम किया। –

+0

आप एक जीवन बचाओ हैं। पीडब्लूडी मेरी लिपि में मुद्दा था, क्योंकि मैंने अपना% TEMP% मैप किया था/tmp :-) – anishsane

+3

मैंने पाया कि * नहीं * पीडब्लूडी निर्यात करना बेहतर है क्योंकि $ PWD बदलना emacs को गड़बड़ कर सकता है और विंडोज प्रारूप में बैश प्रॉम्प्ट भी बदल सकता है। मैं यह करना पसंद करता हूं: फ़ंक्शन पी 4() {PWD = 'cygpath -ma।'" 'कौन सा पी 4'" $ @}। इस तरह पीडब्ल्यूडी केवल पी 4 कमांड के अंदर बदल गया है। – dividebyzero

5

आप अपने क्लाइंट स्पेक में altroots सेट कर सकते हैं, जो इसे कवर कर सकता है?

हालांकि साइगविन पी 4 समाधान है जिसके लिए मैं जाना चाहता हूं। लेकिन मैं नवीनतम संस्करण के लिए जाऊंगा: http://filehost.perforce.com/perforce/r09.2/bin.cygwinx86/p4.exe - यह किसी भी पुराने सर्वर के साथ काम करेगा, लेकिन कम बग होगा।

1

एक संशोधित .bashrc समारोह के संस्करण भूमि के ऊपर cygpath से बचने और स्वचालित रूप से पथ में p4.exe निष्पादन योग्य पाने के लिए:

function p4() { 
    PWD= `which p4` "[email protected]" 
} 
0

Alt जड़ मेरे लिए अच्छा काम करने लगता है। हालांकि मैं साइगविन का उपयोग नहीं कर रहा हूं। मेरा स्रोत कोड लिनक्स सर्वर में रहता है और मेरे पास विंडोज मशीन में क्लाइंट है। मैंने नेटवर्क ड्राइव का उपयोग कर विंडोज़ पर सर्वर के वर्कस्पेस को मैप किया है।

4

कृपया ध्यान दें, Perforce CLI client for CygWin has been deprecated और अब 5/1/2013 के बाद समर्थित नहीं होगा, Perforce वेबसाइट के अनुसार। साइगविन क्लाइंट के निरंतर समर्थन में a poll which attempts to gauge the level of interest सहित पर्सफोर्स सपोर्ट फ़ोरम पर इस विषय की चर्चा है। वित्तीय कारणों के लिए समर्थन बंद कर दिया जा रहा है (वाणिज्यिक सिग्विन वितरण के लिए रेडहाट को लाइसेंस शुल्क); इसलिए यदि पर्याप्त ब्याज दिखाया गया है, तो निर्णय पर पुनर्विचार किया जा सकता है।

यदि आप पी 4 सिग्विन क्लाइंट का उपयोग करते हैं, तो इस विषय में कभी भी रुचि रखते हैं, या मैं आपको चुनाव में भाग लेने का आग्रह करता हूं। धन्यवाद।