2008-09-25 5 views
7

यह पोस्ट this previously asked question. जैसा है, मैं वास्तव में टीटीबी प्रारूप में अपना एसवीएन भंडार स्थापित करना चाहता हूं, लेकिन विजुअल स्टूडियो 2008 (एएसपी.नेट/वीबी.नेट) में एक प्रोजेक्ट बनाते समय, , समाधान फ़ाइल, प्रोजेक्ट फाइलों, प्रोजेक्ट्स के लिए फ़ोल्डरों, समाधानों के भीतर कई परियोजनाओं आदि पर विचार करते समय बनाई गई संरचना असंगत होती है। क्या किसी के पास नव निर्मित एएसपी.नेट परियोजना लेने और इसे टीटीबी में ले जाने के लिए कोई स्क्रिप्ट या प्रक्रिया है जितना संभव हो सके दर्द रहित रूप से प्रारूपित करें?संस्करण नियंत्रण में परियोजनाओं का ढांचा - .NET विशिष्ट


मुझे और अधिक विशिष्ट होने दें। मान लीजिए मेरे पास एक प्रोजेक्ट है जिसे मैं StackOverflowIsAwesome कहलाता हूं। मैं इसे अपने स्थानीय फ़ोल्डर संरचना में डाल सकता हूं (मान लें कि यह सी है: \ काम कर रहा है)। जब मैं इसे बना देता हूं, वीएस सी बनाता है: \ work \ StackOverflowIsAwesome और उपफोल्डर्स का एक पूरा समूह (bin, app_data, आदि)। लेकिन मैं अपने भंडार संरचना की तरह लग रहे करना चाहते हैं ...

 
StackOverflowIsAwesome 
    /trunk 
     /bin 
     /app_data 
    /tags 
    /branches 

तो, वहाँ इस लगातार ऐसा करने के लिए एक साफ रास्ता है या मैं लगातार/संशोधित फ़ाइलों और फ़ोल्डरों चलती यह काम करने के लिए का सहारा की जरूरत है?

उत्तर

0

यदि आपके टीटीबी प्रति परियोजना के बजाय आम हैं, तो इसमें कोई समस्या नहीं है। या क्या मैं कुछ न कुछ भूल रहा हूं?

1

हम एक बहुत ही साधारण दृष्टिकोण के साथ चला गया:

फ़ाइल संरचना:

  • समाधान फ़ोल्डर (? शामिल समाधान फ़ाइल, लिपियों, शायद अधिक निर्माण)
    • परियोजना फ़ोल्डर
    • प्रोजेक्ट फ़ोल्डर 2
    • संदर्भ (साझा किया गया है समाधान के लिए ssemblies)।

तो हम सिर्फ हमारे भंडार में पूरे समाधान का फ़ोल्डर की सामग्री की जाँच करें। हम प्रत्येक समाधान के लिए एक भंडार का उपयोग करते हैं। मुझे यकीन नहीं है कि यह समाधान व्यवस्थित करने का सबसे अच्छा तरीका है, लेकिन यह हमारे लिए काम करता है।

इसके अलावा, हम प्रति परियोजना के अनुसार उच्चतम स्तर पर शाखा नहीं बनाते हैं।

+0

हम समाधान-आकार वाले प्रोजेक्ट समूहों के साथ बिल्कुल वही काम करते हैं। हमारे पास कुछ छोटे सिंगल-प्रोजेक्ट आइटम भी हैं (जैसे कि सामान्य पुस्तकालय)। यह इनके लिए एक टीटीबी प्रति परियोजना है (समाधान फ़ाइल को वांछित होने पर एकल के लिए प्रोजेक्ट निर्देशिका में शामिल किया जा सकता है)। – VanSkalen

0

आप इस previous post या यह project देख सकते हैं। परियोजना एक .NET विकास वृक्ष संरचना बनाता है (.NET 3.5 की आवश्यकता है)।

0

एक दृश्य स्टूडियो समाधान बनाने वाली कई परियोजनाओं से निपटने के दौरान यह तय करना मुश्किल है कि चीजों को सही ढंग से कैसे व्यवस्थित किया जाए।

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

मुख्य ट्रंक के बाहर विस्तारित अवधि के लिए काम करने में सक्षम होना भी महत्वपूर्ण है। आपको उस पर भी विचार करना होगा।

आप पाते हैं कि आपके सॉफ़्टवेयर में कई घटक हैं जो स्वाभाविक रूप से समूहबद्ध होते हैं।आप इस तरह कुछ कर सकते हैं

/tag 

/core_library 
    /branch 
    /main 

/business_logic 
    /branch 
    /main 

/report_library 
    /branch 
    /main 

/my_ui 
    /branch 
    /main 

कोई आसान जवाब नहीं है। आप वास्तव में अपने विशिष्ट प्रोजेक्ट पर निर्भर करते हैं। अगर सब कुछ अभी भी एक झटकेदार गड़बड़ से बाहर आ रहा है तो शायद आपको यह देखने की जरूरत है कि आपकी परियोजना कैसे डिज़ाइन की गई है और देखें कि क्या इसे समझने के लिए बदला जा सकता है या नहीं।

-1

मैं इसे इस तरह से कार्य करें:

  1. वी.एस. में प्रोजेक्ट बना
  2. रेपोस को प्रोजेक्ट फ़ोल्डर/ProjectName/ट्रंक
  3. में
  4. आयात सब कुछ रेपोस/शाखाओं और रेपोस/टैग फ़ोल्डरों
  5. जोड़े

कि मेरे जैसे एक भंडार संरचना प्रदान करता है:

projectname 
    /trunk 
     /bin 
     /obj 
     /Properties 
     projectname.sln 
    /tags 
    /branches 

और मैं बस फाइल सिस्टम में सभी फ़ाइलों को अपने डिफ़ॉल्ट स्थानों में छोड़ सकता हूं।

1

एक और तरीका है:

StackOverflowIsAwesome 
    /trunk 
    /database 
    /datafiles 
    /documents 
    /build 
    /installer 
    /lib 
     /External_DAL (external that points to shared library) 
    /utilities 
    /vendor 
    /src 
     /StackOverFlowIsAwesome 
     /StackOverFlowIsAwesome.csprj 
     /bin 
     /... 
     /StackOverFlowIsAwesomeTests 
     /StackOverFlowIsAwesomeTests.csprj 
     /bin 
     /... 
    /branches 
    /tags 

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

0

बड़ा परियोजनाओं के लिए हम आम तौर पर इस प्रारूप यहाँ का उपयोग करें:

/Project 
    /trunk 
     /lib/    # Binary imports here (not in svn) 

     /src    # Solution file here 
      /Libraries  # Library assemblies here 
      /StackOverflowIsAwesome.Common 

      /Products  # Delivered products here 
      /StackOverflowIsAwesome.Site 

      /Projects  # internal assemblies here 
      /StackOverflowIsAwesome.Tests 
    /branches 
     /1.x 
    /tags 
     /StackOverflowIsAwesome-1.0 

वास्तविक परियोजना गैर स्रोत फ़ाइलें (दस्तावेजों, आदि) ट्रंक रूट और अतिरिक्त विकास संसाधनों के तहत एक निर्देशिका है पर निर्भर करता है src तहत कर रहे हैं ।

स्वतंत्र परियोजनाओं के तहत अपने स्वयं के/परियोजना जड़ तहत कर रहे हैं, लेकिन एक ही भंडार में।