2010-04-07 11 views
8

हमारी विकास टीम ग्रहण + Aptana का उपयोग अपने वेब विकास कार्य करने के लिए करता है। वर्तमान में, उनमें से अधिकतर अपनी ग्रहण परियोजनाओं को सीधे वेब सर्वर पर मैप कर रहे हैं। मैं बल्कि उन्हें एक स्थानीय प्रोजेक्ट बनाना चाहता हूं और उस वेब सर्वर प्रोजेक्ट निर्देशिका को सिंक करने के लिए उपयोग करता हूं, जिस पर वे काम कर रहे हैं।ग्रहण/Aptana फ़ाइल सिंक समाधान

मुद्दा यह है कि कोई भी अच्छा समाधान नहीं है जो दोनों की लोकप्रियता को लेकर चिंतित है।

ग्रहण के लिए FileSync प्लगइन केवल एक तरफा है। मतलब यह है कि यदि कोई अन्य डेवलपर सर्वर पर फ़ाइल में परिवर्तन करता है, तो एक अन्य देव को भी अधिसूचित नहीं किया जाता है और परिवर्तन को ओवरराइट कर सकता है।

Aptana 2.0 में फ़ाइल स्थानांतरण विकल्प किसी भी प्रकार की सिंक का समर्थन नहीं करता है, बस फ़ाइलों को मैन्युअल रूप से अपलोड/डाउनलोड करता है।

Aptana 1.5.1 में सिंक विकल्प आपको अलग होने पर फ़ाइलों को मर्ज करने की अनुमति नहीं देता है। आप केवल एक या दूसरे को अपडेट कर सकते हैं। हालांकि यह आपको एक diff देखने की अनुमति देता है (लेकिन केवल तभी जब आप दायाँ क्लिक और चयन करते हैं) और उस diff में आप कोई भी परिवर्तन नहीं कर सकते हैं।

मुझे एक्लिप्स बंदर का उपयोग करके Aptana में फ़ाइलों को अपने सिंक रिपॉजिटरीज़ पर अपलोड करने की अनुमति देने का एक तरीका मिला। हालांकि यह काम नहीं करता है यदि कोई उपयोगकर्ता एक साथ कई फाइलें सहेजता है, 'सभी सहेजें', फिर से यह काम नहीं करता है। और इसके अतिरिक्त, यदि कोई उपयोगकर्ता स्थानीय फ़ाइल खोलता है जिसमें सर्वर पर एक अद्यतन प्रति है, तो कोई सूचना नहीं है। मैंने एक्लिप्स बंदर का उपयोग करके एक जोड़ने की कोशिश की लेकिन मुझे ग्रहण एपीआई में ऐसा करने के लिए किसी भी प्रकार का श्रोता नहीं मिला और किसी भी ग्रहण बंदर दस्तावेज के बीच बहुत कम है।

इस बिंदु पर मेरा एकमात्र समाधान सिर्फ उन्हें सीधे सर्वर पर मैप करना जारी रखना है या उन्हें कोई काम करने से पहले मैन्युअल डाउनलोड करने के लिए कहना है (लेकिन फिर से अगर कोई ऐसा करने के बाद कोई परिवर्तन बदलता है) ।

किसी के पास कोई विचार है?

उत्तर

4

अप्रैल 2010

अपने ग्रहण + Aptana सेटअप करने के लिए EGit जोड़ें, और:

  • डेवलपर्स एक local bare repo उनके विकास के लिए धक्का (यह भी देखें this post)
  • अपने स्थानीय परियोजना हो जाने git pull द्वारा उसी स्थानीय नंगे रेपो (बनाने/अद्यतन करने) से स्थानीय कार्यशील निर्देशिका के स्रोतों के साथ विलय/अद्यतन (यामें वर्णित एक पोस्ट-अपडेट हुक का उपयोग करके) द्वारा अपडेट किया गया)
  • अपने स्थानीय Aptana + Eclipse (+ EGit) संदर्भ को स्थानीय कार्य निर्देशिका का उपयोग करने दें, जो आपके वेब सर्वर द्वारा भी उपयोग किया जाता है।

संक्षेप में, जब आप फ़ाइल तुल्यकालन + मर्ज के की बात कर रहे हैं, यह एक (डी) के लिए एक नौकरी VCS है (Version Control System: Centralized या Distributed VCS)


अक्टू 2011: xmedeko में उल्लेख के रूप में टिप्पणियां, Aptana3 का अपना Git plugin है।
और यह ईजीआईटी के साथ बहुत संगत नहीं है: bug 1988 देखें।

+0

अद्यतन: Aptana 3 की अपनी गिट प्लगइन है। ईजीएचओ ईजीआईटी से बेहतर है। – xmedeko

+0

@xmedeko: अच्छा बिंदु। मैंने देशी गिट प्लगइन को प्रतिबिंबित करने के लिए उत्तर संपादित किया है। – VonC

1

वोनसी उत्तर (जो सही आईएमएचओ है) में जोड़ना, शायद इस परिदृश्य के नीचे क्या है यह है कि प्रक्रिया आपके द्वारा अपनाई गई टूल्स के अलावा, स्वयं को सही नहीं है।

यदि मैं अच्छी तरह से समझ गया, तो आपको परियोजना के विकास संस्करण से वेब सर्वर पर सीधे अपलोड करने की अनुमति नहीं देनी चाहिए। विलय रिमोट सिंक्रनाइज़ेशन टूल के लिए नौकरी नहीं है, और यह तैनाती चरण से पहले अच्छा होना चाहिए (वेब ​​सर्वर पर अपलोड व्यावहारिक रूप से एक तैनाती है)।

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

सक्रिय रूप से चल रहे वेबसाइट पर चलने वाले किसी भी परीक्षण को निष्पादित करें (यानी एकीकरण और/या कार्यात्मक परीक्षण)। यदि कोई बग & फ़िक्सिंग है, तो वास्तव में विकास & स्टेजिंग कोड भंडार पर फ़िक्स को लागू करने के विभिन्न तरीके हैं। उसके बाद, आप स्टेजिंग रिपोजिटरी को उत्पादन वेब सर्वर पर तैनात करते हैं (फिर से, सिंक्रनाइज़ेशन टूल ऐसा करने का एक तरीका हैं)।

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