2012-07-25 14 views
36

मैं इस तरह के पेड़ के साथ एक SVN परियोजना है:SVN चेकआउट गहराई

/project 
    /dir1 
     /subdir1 
      -file1 
      -file2 
      ..... 
     -file1 
     -file2 
     ..... 
    /dir2 
     -file1 
     -file2 
     ..... 
    /dir3 
     /subdir1 
      -file1 
      -file2 
      ..... 
     /subdir2 
      -file1 
      -file2 
      ..... 
     /subdir3 
      -file1 
      -file2 
      ..... 
     /subdir4 
      -file1 
      -file2 
      ..... 
    /dir4 
     -file1 
     -file2 
     ..... 
-file1 
-file2 

मैं/परियोजना

  • पूर्ण/dir1
  • पूर्ण/dir2 से

    • सभी फाइलों को चेकआउट करने की जरूरत है
    • पूर्ण/dir4
    • से/dir3 मुझे केवल/subdir1 की आवश्यकता है और/subdir3

    क्या मैं किसी भी प्रकार की गहराई के साथ svn कमांडलाइन का उपयोग करके इन फ़ाइलों/फ़ोल्डर्स को चेकआउट कर सकता हूं? यदि ऐसा है तो मैं इसे कैसे कर सकता हूं? क्या मैं चेकआउट के बाद dir3 में subdir2 जोड़ सकता हूं? मैं इस तरह से बनाई गई कार्यशील प्रति को कैसे अपडेट कर सकता हूं? सामान्य "svn up" कमांड अपडेट केवल इन फ़ोल्डर्स या प्रोजेक्ट का पूरा अपडेट किया जाएगा?

  • उत्तर

    54

    आपको जो चाहिए उसे sparse checkout कहा जाता है।

    अपने मामले में आप कर सकते हैं:

    svn co --depth files file:///project project 
    cd project 
    svn up --set-depth infinity dir1 dir2 dir4 
    svn up --set-depth empty dir3 
    svn up --set-depth infinity dir3/subdir1 dir3/subdir3 
    

    मैं एक चेकआउट के बाद dir3 को subdir2 जोड़ सकते हैं?

    हाँ: svn up --set-depth infinity dir3/subdir2

    मैं कैसे काम कर अद्यतन कर सकते हैं इस तरह से बनाई गई प्रतिलिपि? सामान्य "svn up" कमांड अपडेट केवल इन फ़ोल्डर्स या प्रोजेक्ट का पूरा अपडेट किया जाएगा?

    हां, svn up केवल इन फ़ाइलों और फ़ोल्डरों को अपडेट करेगा, जो कि अद्यतन गहराई संरक्षित होगी।

    +0

    धन्यवाद पुनर्जीवित होगा एक lot.So अगर मुझे समझ में नहीं होगा अगर एक नया फ़ोल्डर (उदाहरण के dir5 के लिए) यह परियोजना के लिए जोड़ दिया जाएगाअद्यतन किया जा। क्या मैं सही हू? –

    +0

    हां, dir5 के मूल फ़ोल्डर को गहराई से 'फाइल' पर सेट किया गया है, इसलिए नई फाइलें अपडेट की जाएंगी, लेकिन नए फ़ोल्डर्स नहीं। – ks1322

    +3

    यदि आप स्वचालित रूप से '--depth फ़ाइलों' के बजाय '--depth instantates' का उपयोग करके नए शीर्ष-स्तरीय उप-श्रेणियों को जोड़ना चाहते हैं तो चाल चलनी चाहिए। –

    0

    1) --set गहराई से खाली फ़ाइल/फ़ोल्डर पथ svn

    // यह आपके सिस्टम से फाइल को नष्ट करेगा

    2) --set-गहराई अनंत फ़ाइल svn/फ़ोल्डर पथ

    // यह SVN सर्वर से फ़ाइल अपने स्थानीय सिस्टम को

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