जवाबों:
अतिरिक्त विवरण के लिए, SVNBook देखें: "कॉपी फाइलों और निर्देशिकाओं के काम करने की स्थिति" ।
सामान्य स्थिति:
U : कार्य फ़ाइल अपडेट की गई थी
G : रेपो पर परिवर्तन स्वचालित रूप से कार्य प्रतिलिपि में विलय कर दिया गया था
M : कार्य प्रतिलिपि संशोधित है
C : यह फ़ाइल रेपो में संस्करण के साथ विरोध करती है
? : यह फ़ाइल संस्करण नियंत्रण में नहीं है
! : यह फ़ाइल संस्करण नियंत्रण के अंतर्गत है लेकिन अनुपलब्ध या अपूर्ण है
A : इस फ़ाइल को संस्करण नियंत्रण में जोड़ा जाएगा (प्रतिबद्ध होने के बाद)
A + : इस फ़ाइल को स्थानांतरित किया जाएगा (प्रतिबद्ध होने के बाद)
डी : यह फ़ाइल हटा दी जाएगी (प्रतिबद्ध होने के बाद)
एस : यह दर्शाता है कि फ़ाइल या निर्देशिका को काम की बाकी कॉपी के रास्ते से स्विच किया गया है (एक शाखा पर svn स्विच का उपयोग करके)
मैं : नजरअंदाज कर दिया
एक्स : बाहरी परिभाषा
~ : प्रकार बदल गया
R : आइटम को आपकी वर्किंग कॉपी में बदल दिया गया है। इसका मतलब है कि फ़ाइल को हटाने के लिए निर्धारित किया गया था, और फिर उसी स्थान पर इसके नाम के साथ एक नई फ़ाइल को शेड्यूल किया गया था।
एल : आइटम बंद है
E : आइटम अस्तित्व में है, क्योंकि यह एक svn अद्यतन द्वारा बनाया गया होगा।
यह भी ध्यान दें कि दूसरे कॉलम में एक परिणाम कोड फ़ाइल के गुणों को संदर्भित करता है। उदाहरण के लिए:
U filename.1
U filename.2
UU filename.3
filename.1: फ़ाइल को फ़ाइल
नाम अद्यतन किया गया था। फ़ाइल पर एक संपत्ति या गुण (जैसे svn: कीवर्ड) को
फ़ाइल नाम अपडेट किया गया था । फ़ाइल और उसके गुण दोनों अपडेट किए गए थे
आप हमेशा चलाकर एक सूची प्राप्त कर सकते हैं:
svn status --help
मैं "जी" स्थिति के बारे में कुछ कहना चाहता हूं,
G: रेपो पर परिवर्तन स्वचालित रूप से कार्य प्रतिलिपि में विलय कर दिया गया था
मुझे लगता है कि उपरोक्त परिभाषा स्पष्ट नहीं है, यह थोड़ा भ्रम पैदा कर सकता है, क्योंकि सभी फाइलें स्वचालित रूप से कार्यशील प्रतिलिपि में विलय हो जाती हैं, सही होना चाहिए:
यू = आइटम (यू) रिपोजिटरी संस्करण के लिए pdated
जी = आइटम का स्थानीय परिवर्तन मेर (जी) रिपोजिटरी के साथ एड
C = आइटम के स्थानीय परिवर्तन (C) रिपॉजिटरी से जुड़े हुए हैं
डी = आइटम (डी) काम की प्रति से हटा दिया गया
ए = आइटम (ए) काम की नकल करने के लिए तैयार है
मैं आमतौर पर एक gui के माध्यम से svn का उपयोग करता हूं, या तो मेरी आईडीई या क्लाइंट। उसके कारण, मुझे कभी भी कोड याद नहीं रह सकता है जब मुझे कमांड लाइन का सहारा लेना पड़ता है।
मुझे यह चीट शीट एक बड़ी मदद लगती है : तोड़फोड़ की चीट शीट
$ svn status
L index.html
कमांड का आउटपुट छह कॉलम में विभाजित है, लेकिन यह स्पष्ट नहीं है क्योंकि कभी-कभी कॉलम खाली होते हैं। संभवत: यह खाली कॉलमों को डैश के साथ इंगित करने के लिए अधिक समझ में आता है, जिस तरह ls -l
से, कुछ नहीं के बजाय करता है। फिर, उदाहरण के लिए, L index.html
जैसा दिखेगा--L--- index.html
, जिससे यह स्पष्ट होता है कि हमारे पास केवल वही जानकारी है जो तीसरे कॉलम में है जो लॉकिंग के बारे में है। वैसे भी, एक बार जब आप जानते हैं कि यह अधिक समझ में आने लगता है।
पहला कॉलम इंगित करता है कि कोई आइटम जोड़ा गया, हटाया गया, या अन्यथा बदला गया।
कोई संशोधन नहीं।
A
आइटम एडिशन के लिए निर्धारित है।
D
आइटम विलोपन के लिए निर्धारित है।
M
आइटम संशोधित किया गया है।
R
आइटम को आपकी कार्य प्रतिलिपि में बदल दिया गया है। इसका मतलब है कि फ़ाइल को हटाने के लिए निर्धारित किया गया था, और फिर उसी स्थान पर इसके नाम के साथ एक नई फ़ाइल को शेड्यूल किया गया था।
C
भंडार से प्राप्त अपडेट के साथ आइटम संघर्ष की सामग्री (गुणों के विपरीत)।
X
आइटम एक बाहरी परिभाषा से संबंधित है।
I
आइटम को नजरअंदाज किया जा रहा है (उदाहरण के लिए svn: संपत्ति की उपेक्षा)।
?
आइटम संस्करण नियंत्रण में नहीं है।
!
आइटम गायब है (उदाहरण के लिए आप svn का उपयोग किए बिना इसे स्थानांतरित या हटा दिया गया है)। यह भी इंगित करता है कि एक निर्देशिका अधूरी है (एक चेकआउट या अपडेट बाधित हुआ था)।
~
आइटम को एक प्रकार की ऑब्जेक्ट (फ़ाइल, निर्देशिका, लिंक) के रूप में संस्करणित किया जाता है, लेकिन इसे विभिन्न प्रकार के ऑब्जेक्ट द्वारा बदल दिया गया है।
दूसरा कॉलम किसी फ़ाइल या निर्देशिका के गुणों की स्थिति बताता है।
कोई संशोधन नहीं।
M
इस आइटम के लिए गुणों को संशोधित किया गया है।
C
इस आइटम के लिए गुण रिपॉजिटरी से प्राप्त संपत्ति अपडेट के विरोध में हैं।
तीसरा कॉलम केवल तभी पॉपुलेट किया जाता है जब वर्किंग कॉपी डायरेक्टरी लॉक हो जाती है (एक svn क्लीनअप को सामान्य रूप से इसे खाली करने के लिए पर्याप्त होना चाहिए)
आइटम लॉक नहीं है।
L
आइटम बंद है।
चौथे कॉलम को केवल तभी पॉप्युलेट किया जाता है जब आइटम को जोड़-तोड़ के इतिहास के लिए निर्धारित किया जाता है।
प्रतिबद्ध के साथ कोई इतिहास नहीं।
+
इतिहास प्रतिबद्ध के साथ।
पांचवें कॉलम को केवल तभी पॉप्युलेट किया जाता है जब आइटम की वर्किंग कॉपी उसके माता-पिता के सापेक्ष स्विच की जाती है
आइटम अपनी मूल निर्देशिका का एक बच्चा है।
S
आइटम स्विच किया गया है।
छठी कॉलम लॉक जानकारी के साथ आबाद है।
जब -शो-अपडेट का उपयोग किया जाता है, तो फ़ाइल लॉक नहीं होती है। यदि -show-updates का उपयोग नहीं किया जाता है, तो इसका अर्थ यह है कि फ़ाइल इस कार्य प्रतिलिपि में लॉक नहीं है।
K
इस कार्य प्रतिलिपि में फ़ाइल बंद है।
O
फ़ाइल किसी अन्य उपयोगकर्ता द्वारा या किसी अन्य कार्य प्रतिलिपि में लॉक की गई है। यह केवल तब दिखाई देता है जब -show-updates का उपयोग किया जाता है।
T
इस कार्य प्रतिलिपि में फ़ाइल लॉक की गई थी, लेकिन लॉक चोरी हो गया है और अमान्य है। फ़ाइल वर्तमान में रिपॉजिटरी में बंद है। यह केवल तब दिखाई देता है जब -show-updates का उपयोग किया जाता है ।-
B
इस कार्य प्रतिलिपि में फ़ाइल लॉक की गई थी, लेकिन लॉक को तोड़ दिया गया है और अमान्य है। फ़ाइल अब लॉक नहीं है यह केवल तब दिखाई देता है जब -show-updates का उपयोग किया जाता है।
आउट-ऑफ-द-डेट जानकारी सातवें कॉलम में दिखाई देती है (केवल अगर आप -शो-अपडेट स्विच पास करते हैं)। यह कुछ ऐसे लोग हैं जो एसवीएन के लिए नए हैं, जो कमांड को यह करने की उम्मीद करते हैं, इसे साकार नहीं करते हुए केवल फाइल की वर्तमान स्थिति की तुलना करते हैं कि इसे आखिरी अपडेट पर सर्वर से क्या जानकारी मिली है।
आपकी कार्य प्रतिलिपि में आइटम अद्यतित है।
*
आइटम का एक नया संशोधन सर्वर पर मौजूद है।
तोड़फोड़ पुस्तक संदर्भ में एक नज़र डालें: "काम की प्रतिलिपि फ़ाइलों और निर्देशिकाओं की स्थिति"
अत्यधिक SVN के साथ कुछ भी करने के लिए किसी की भी अत्यधिक अनुशंसा की जाती है।
जब भी आपके पास डॉक्यूमेंटेशन ( SVNBook ) की सुविधा नहीं है , तो टाइप करें (Linux):
svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'
या अपनी ~ / .bashrc फ़ाइल में निम्न फ़ंक्शन डालें, जैसे:
svncode() {
symbol=$1
[ $symbol ] && svn help status | grep \'$(echo $symbol)\' || \
echo "usage: svncode <symbol>"
}