কেবলমাত্র নির্দিষ্ট ফাইলগুলির একটি তালিকা প্রতিশ্রুতি দেওয়ার কোনও উপায় আছে (যেমন এসভিএন অঙ্গীকারবদ্ধ করতে চায় এমন ফাইলগুলির তালিকার মধ্যে একটি)।
আমি কোনও ইউআই ছাড়াই টার্মিনালের অধীনে ম্যাক ওএস এক্সে কাজ করছি।
কেবলমাত্র নির্দিষ্ট ফাইলগুলির একটি তালিকা প্রতিশ্রুতি দেওয়ার কোনও উপায় আছে (যেমন এসভিএন অঙ্গীকারবদ্ধ করতে চায় এমন ফাইলগুলির তালিকার মধ্যে একটি)।
আমি কোনও ইউআই ছাড়াই টার্মিনালের অধীনে ম্যাক ওএস এক্সে কাজ করছি।
উত্তর:
অবশ্যই। কেবল ফাইলগুলি তালিকাবদ্ধ করুন:
$ svn ci -m "Fixed all those horrible crashes" foo bar baz graphics/logo.png
নির্দিষ্ট কিছু ফাইল উপেক্ষা করার জন্য এটি বলার উপায় সম্পর্কে আমি অবগত নই। অবশ্যই, আপনি যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ করতে চান তা যদি শেলের দ্বারা সহজেই তালিকাভুক্ত হয় তবে আপনি এটি ব্যবহার করতে পারেন:
$ svn ci -m "No longer sets printer on fire" printer-driver/*.c
আপনি এসএনএন কমান্ড ফাইল থেকে কমিট করার জন্য ফাইলগুলির তালিকা পড়তে পারেন:
$ svn ci -m "Now works" --targets fix4711.txt
svn add
সংগ্রহস্থলগুলিতে ফাইল যুক্ত করতে ব্যবহৃত হয়।
চেঞ্জলিস্ট ব্যবহার করুন। ফাইলগুলি নির্দিষ্ট করার সুবিধাটি হ'ল আপনি যা করতে চেয়েছিলেন তা যাচাই করা এবং নিশ্চিত করতে পারবেন যে আপনি প্রতিশ্রুতি দেওয়ার আগে অন্তর্ভুক্ত ছিলেন।
$ svn changelist fix-issue-237 foo.c
Path 'foo.c' is now a member of changelist 'fix-issue-237'.
এটি হয়ে গেছে, এসএনএন এখন আপনার জন্য জিনিসগুলি আলাদা রাখে। আপনি একাধিক পরিবর্তন জাগ্রত করার সময় এটি সহায়তা করে
$ svn status
A bar.c
A baz.c
--- Changelist 'fix-issue-237':
A foo.c
অবশেষে, আপনি যা পরিবর্তন করতে চেয়েছিলেন তা করতে এটি বলুন।
$ svn commit --changelist fix-issue-237 -m "Issue 237"
svn changelist fix-issue-237 --recursive path/to/directory
আপনি মূলত যে ফাইলগুলি কমান্ড লাইনে প্রতিশ্রুতিবদ্ধ করতে চান তা রাখুন
svn ci file1 file2 dir1/file3
আমার সাবস্ট্রেশন রাষ্ট্রের কারণে আমাকে সৃজনশীল হতে হয়েছিল। svn st
দেখানো হয়েছে M
, A
এবং ~
অবস্থা। আমি কেবল চেয়েছিলাম M
এবং A
তাই ...
svn st | grep ^[A\|M] | cut -d' ' -f8- > targets.txt
এই কমান্ডের দ্বারা সব লাইন আউটপুট এটি বলছেন svn st
যে শুরু M
বাA
স্পেস ডিলিমিটার দিয়ে কাটা করুন, তারপরে শেষ পর্যন্ত 8 টি কলম পান। টার্গেট.টেক্সট এ ডাম্প করুন এবং ওভাররাইট করুন।
তারপরে ফাইল তালিকাকে আরও ছাঁটাই করতে টার্গেট.টেক্সট পরিবর্তন করুন। তারপরে প্রতিশ্রুতিবদ্ধ করতে নীচে দৌড়াও:
svn ci -m "My commit message" --targets targets.txt
সম্ভবত সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে না, তবে আশা করি এটি কাউকে সহায়তা করে someone
grep -v '^~'
যা চান তা কালো তালিকাভুক্ত করতেও ব্যবহার করতে পারেন।
যেমন দেখানো স্পষ্টভাবে ফাইল তালিকা এছাড়া বিনোদন ও Wienczny , আপনি সেটআপ পরিবর্তন তালিকা করতে পারেন এবং এই চেক ইন করে। এগুলি আপনাকে একই কাজের অনুলিপিতে পরিবর্তনের সেটগুলি পরিচালনা করতে দেয় manage
আপনি তাদের সম্পর্কে দুর্দান্ত এসভিএন বইয়ের অনলাইন সংস্করণে পড়তে পারেন ।
এই স্ক্রিপ্ট চেষ্টা করুন ..
#!/bin/bash
NULL="_"
for f in `svn st|grep -v ^\?|sed s/.\ *//`;
do LIST="${LIST} $f $NULL on";
done
dialog --checklist "Select files to commit" 30 60 30 $LIST 2>/tmp/svnlist.txt
svn ci `cat /tmp/svnlist.txt|sed 's/"//g'`