एसवीएन- एक शॉट में कई फाइलें कैसे करें


104

मैंने नीचे एक ही शॉट में विभिन्न निर्देशिकाओं में कई फाइलें बनाने की कोशिश की,

svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc

चूंकि, मैं कुछ फाइलों को कमिट लिस्ट से बाहर करना चाहता था इसलिए मैंने प्रत्येक फाइल का नाम कमांड लाइन में ऊपर रखा है। मैंने इसे नोटपैड में एक साथ रखा और यह लगभग 25 फाइलें आई। जब मैं इसे कमांड लाइन पर कॉपी और पेस्ट करता हूं, तो पिछली कुछ फाइलें गायब हैं और मुझे लगता है कि यह कमांड लाइन बफर लिमिट (?) हो सकती है। क्या कोई विकल्प है जो मैं बफर लंबाई बढ़ा सकता हूं?

क्या कोई विकल्प है जो मैं सभी फाइलों को एक टेक्स्ट फाइल में रख सकता हूं और इसे svn प्रतिबद्ध करने के लिए एक तर्क के रूप में दे सकता हूं?


8
@ ताही - जो लोग तोड़फोड़ के लिए जीयूआई का उपयोग नहीं करते हैं वे मसोचिस्ट हैं। कछुआ SVN प्राप्त करें या यह लिनक्स के बराबर है।
tpow 13

1
यदि बफर लंबाई पर प्रतिबंध है, तो यह SVN में नहीं होगा, यह आपके द्वारा उपयोग किए जा रहे किसी भी शेल में होगा।
कॉलिन फाइन

20
@cinquTimo: आप हर चीज़ के लिए GUI का उपयोग करना पसंद कर सकते हैं। अन्य लोग नहीं करते।
कॉलिन फाइन

@ कोलिन, मुझे ऐसा लगता है, उस स्थिति में शेल बफर की लंबाई कैसे बढ़ाई जाए?
थी

3
"जो लोग तोड़फोड़ के लिए जीयूआई का उपयोग नहीं करते हैं वे मसोचिस्ट हैं।" - मसोचवाद तोड़फोड़ का उपयोग करना है, लेकिन हम में से कुछ के पास कोई विकल्प नहीं है।
डैनियल

जवाबों:


157

आप उन फ़ाइलों का एक सेट का ट्रैक रखने के लिए एक svn changelist का उपयोग कर सकते हैं जिन्हें आप एक साथ करना चाहते हैं।

लिंक किया गया पृष्ठ बहुत सारे विवरणों में जाता है, लेकिन यहां एक कार्यकारी सारांश उदाहरण है:

$ svn changelist my-changelist mydir/dir1/file1.c mydir/dir2/myfile1.h
$ svn changelist my-changelist mydir/dir3/myfile3.c etc.
... (add all the files you want to commit together at your own rate)
$ svn commit -m"log msg" --changelist my-changelist

30

आप --targets ARGविकल्प का उपयोग कर सकते हैं जहां ARG पाठ के नाम पर प्रतिबद्ध के लिए लक्ष्य है।

svn ci --targets myfiles.txt -m "another commit"

इस बैश कमांड में मेरे लिए काम करता है:find . -name \*my.mask | xargs svn ci -m"message" --targets -
एसेन

28

मैं इस तरह से कुछ फ़ाइलों को करने में कोई समस्या नहीं है:

svn commit fileDir1/ fileDir2/ -m "updated!"

यह मेरे लिए काम नहीं कर रहा है। त्रुटि प्राप्त करना "svn: '/' एक कार्यशील प्रति नहीं है"। यहाँ मैंने अपना प्रश्न पोस्ट किया है, आप देख सकते हैं। askubuntu.com/questions/442742/how-to-update-dir-on-svn-server/…

हां अच्छा काम किया। इसके अलावा अपने दस्तावेज़ रूट के भीतर मैं इस के साथ काम कर रहे पेड़ की संरचना के भीतर सभी परिवर्तन कर सकता है:> svn प्रतिबद्ध। -एम 'मास कमिट मैसेज'
ग्रिगियास पी।

3

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


1
svnbook.red-bean.com/en/1.6/svn.advanced.changelists.html - svn कीवर्ड " चैंजिस्ट " है, जो पहले उत्तर में और सबसे अपवर्तित है।
जॉन डब्ल्यू। क्लार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.