2008-09-15 4 views
11

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

मेरे पास एसवीएन में एक ट्रंक/सामान्य फ़ोल्डर है जिसे मैं कई अलग-अलग परियोजनाओं के माध्यम से साझा करता हूं।

उदाहरण:

  • Project1:/ट्रंक/Project1/निर्भर करता है
  • Project2:/ट्रंक/Project2/निर्भर करता है
  • Project3:/ट्रंक/project3/निर्भर करता है
  • Project4:/ट्रंक/प्रोजेक्ट 4/

इनमें से प्रत्येक पर निर्भर करता है कि फ़ोल्डर खाली हैं, लेकिन एक svn है: बाहरी/मेरे ट्रंक/सामान्य फ़ोल्डर को इंगित करने के लिए बाहरी परिभाषित किया गया है।

समस्या तब होती है जब मैं किसी भी परियोजना के भीतर लॉग देखता हूं:/trunk/projectX/यह svn: externals से परिवर्तन नहीं दिखाता है। मैं अपने एसवीएन क्लाइंट के रूप में कछुए एसवीएन का उपयोग कर रहा हूं।

क्या कोई इस व्यवहार को बदलने के बारे में जानता है? मैं किसी भी परिभाषित svn: externals में किसी भी बदलाव को शामिल करने के लिए/trunk/projectX के शो लॉग के लिए भी चाहूंगा।

+0

ब्रायन, मैं मानता हूं कि यह किसी भी व्यक्ति के लिए एक बड़ा पिटा है Commit की तुलना में ernals और एक असंगत व्यवहार, संशोधन के लिए जाँच करें और इसी तरह। चूंकि आपका प्रश्न काफी पुराना है, क्या आप जानते हैं कि इस बीच कुछ भी बदल गया है या नहीं? – Pokot0

+0

@ Pokot0: नहीं, मुझे ऐसा नहीं लगता है –

उत्तर

3

यह संभव नहीं सबवर्सन की वर्तमान रिलीज के साथ, स्पष्ट रूप से बाहरी निर्देशिका का लक्ष्य

आप the Apache Subversion website

0

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

कल्पना कीजिए कि आप निम्नलिखित रेपो पदानुक्रम है:

repo 
    myfirstproject 
     trunk 
    mysecondproject 
     trunk 
    mycommonlib 
     trunk 

और उस mysecondproject\trunk फ़ोल्डर में निम्न SVN है: बाहरी संपत्ति:

svn://mysrv/repo/[email protected] sharedlib 

एक अंदर mysecondproject \ ट्रंक का एक चेकआउट नया फ़ोल्डर सेकंडप्रोजेक्ट आपके फ़ाइल सिस्टम पर ऐसा कुछ बना देगा:

secondproject Folder (refers mysecondproject/trunk) 
    sharedlib Folder (refers mycommonlib/trunk @ revision #2451) 

कॉलिंग "शो लॉग ऑन" secondproject फ़ोल्डर से कछुआ की कमान केवल secondproject फ़ाइलों में परिवर्तन, और अंत में परिवर्तन है कि SVN पर हुई दिखाएगा: फ़ोल्डर की बाहरी संपत्ति।

बाहरी प्रोजेक्ट के परिवर्तन लॉग प्राप्त करने के लिए, आपको आंतरिक फ़ोल्डर साझालिब से "लॉग दिखाएं" कॉल करने की आवश्यकता है, जो समझ में आता है।

+4

यह बिंदु के नीचे किसी भी चीज़ का लॉग दिखाने के लिए और अधिक समझ में आता है चाहे वह एक svn से है: बाहरी या नहीं। चेकआउट की तरह ही सबकुछ चेकआउट होगा। और एक अद्यतन सब कुछ अपडेट हो जाएगा। –

0

मेरे व्यक्तिगत अनुभव से बाहरी लिंक का लॉग केवल तभी रिपोर्ट किया जाता है जब आप उसी फाइल में जहां बाहरी फाइलें बदलते हैं, तो आप "आंतरिक" फ़ोल्डर में केवल एक फ़ाइल को संशोधित करते हैं। इस तरह एसवीएन उचित लॉग, बाहरी फ़ोल्डर से लॉग भी प्राप्त कर सकता है।

मुझे लगता है कि प्रत्येक प्रतिबद्धता के लिए कामकाजी डीआईआर में ऑटोोकॉमिट के लिए एक तंत्र को लागू करने के लिए हुक का उपयोग करना संभव है, भले ही प्रतिबद्धता बाहरी लिंक से शुरू हो।

अलविदा

0

मुझे लगता है, सबवर्सन 1.7 (जो शौचालय की जड़ में ही .svn फ़ोल्डर शुरू) में इसे और अधिक साफ था के बाद: वर्किंग कॉपी अंदर बाहरी की निर्देशिका प्रकार बाहरी निर्देशिका के लिए एक) स्वतंत्र ख है) अलग भंडार

>dir /B /S /AD 
z:\subversion-troubleshoot-b\.svn 
... 
z:\subversion-troubleshoot-b\trunk 
z:\subversion-troubleshoot-b\tags 
z:\subversion-troubleshoot-b\trunk\lib 
z:\subversion-troubleshoot-b\trunk\lib\.svn 
... 
z:\subversion-troubleshoot-b\tags\1.0.0 
z:\subversion-troubleshoot-b\tags\1.0.1 
z:\subversion-troubleshoot-b\tags\1.0.1\lib 
z:\subversion-troubleshoot-b\tags\1.0.1\lib\.svn 
... 

और माता पिता के नेस्टेड कार्य कॉपी डब्ल्यूसी नेस्ट WC बारे में कोई जानकारी शामिल नहीं है (डब्ल्यूसी के dir, भंडार के/से बनाए गए, दो बार dir उपस्थिति .svn ध्यान दें, केवल मुख्य लाइन के लिए)

>svn ls -R 
readme.textile 
tags/ 
tags/1.0.0/ 
tags/1.0.0/core_mod.txt 
tags/1.0.1/ 
tags/1.0.1/core_mod.txt 
trunk/ 
trunk/core_mod.txt 

जब तने (और क्रमशः टैग)

Repo-Browser with externals

बाहरी निपटने के लिए समर्थन को अद्यतन करने और प्रतिबद्ध करने के लिए है, क्योंकि यह समर्थन स्वतंत्र और असंबंधित लगातार आदेशों का उत्पादन जोड़ा बाहरी

के रूप में उप-निर्देशिका lib है - और क्योंकि इस समर्थन बहिष्कार के बिना कोई समझ नहीं है, एसवीएन लॉग को समेकित किया जाना चाहिए संयुक्त (अज्ञात सिद्धांतों, बीटीडब्लू द्वारा)

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

  • कोई संबंधित समस्या नहीं^_^