পেরফোর্স গাছের মধ্যে তালিকার চিহ্নবিহীন (সত্যই: আনড্যাডড) ফাইলগুলি খুঁজতে কারও কাছে স্ক্রিপ্ট বা উরফ রয়েছে?
সম্পাদনা: আমি এটির জন্য গৃহীত উত্তরটি আপডেট করেছি যেহেতু দেখে মনে হচ্ছে যে এটি পি 4 ভি জানুয়ারী 2009 এর রিলিজে এর জন্য সমর্থন যোগ করেছে।
পেরফোর্স গাছের মধ্যে তালিকার চিহ্নবিহীন (সত্যই: আনড্যাডড) ফাইলগুলি খুঁজতে কারও কাছে স্ক্রিপ্ট বা উরফ রয়েছে?
সম্পাদনা: আমি এটির জন্য গৃহীত উত্তরটি আপডেট করেছি যেহেতু দেখে মনে হচ্ছে যে এটি পি 4 ভি জানুয়ারী 2009 এর রিলিজে এর জন্য সমর্থন যোগ করেছে।
p4 status
অনক্রাতীত ফাইলগুলিই খুঁজে পায় না, এটি আসলে তাদের ট্র্যাকিং শুরু করে ST অর্থাৎ p4 status
কোনও পঠনযোগ্য ক্যোয়ারী নয়, যেহেতু নামটি থেকে সন্দেহ হয় তবে এটি আসলে একটি কমান্ড যা স্টাফ পরিবর্তন করে - ওয়ার্কস্পেস ফাইলগুলি নয়। এটি স্ট্যাটাস কমান্ডের কী করা উচিত নয় এবং কী svn status
করে তা নয়। আমি যে নিকটতম জিনিসটি সন্ধান করতে পারি তা svn status
হ'ল p4 reconcile -na
- -এ "ফাইল যুক্ত করা উচিত" বলার অপেক্ষা রাখে না, "আসলে কিছুই পরিবর্তন করবেন না" বলার অপেক্ষা রাখে না। /// আমি মূলত আরও শক্তিশালী কিছু বলেছি।
p4 status
) ।, এবং এটির উত্তর দিয়েছে নিজেকে বেটার স্বাগত
p4 reconcile
এবং p4 status
জাহান্নাম হিসাবে ধীরে ধীরে, যখন git status
1-3 সেকেন্ডে শেষ হয়।
উত্তর:
সম্পাদনা: দয়া করে p4 status
এখন ব্যবহার করুন । হুপের মাধ্যমে আর লাফানোর দরকার নেই। @ কর্নেলপ্যানিকের উত্তর দেখুন ।
পি 4 ভি-র জানুয়ারী ২০০৯ সংস্করণে, আপনি আপনার কর্মক্ষেত্রের গাছের যে কোনও ফোল্ডারে ডান-ক্লিক করতে পারেন এবং "অফলাইন কাজের পুনর্মিলন ..." ক্লিক করতে পারেন
এটি সামান্য প্রক্রিয়াজাতকরণ করবে তারপরে এমন ফাইলগুলির একটি স্প্লিট-ট্রি দৃশ্য উপস্থিত করবে যা চেক আউট হয় না তবে ডিপো সংস্করণ থেকে পৃথক হয়, বা একেবারে চেক ইন হয় না। এমনকি এটি আনতে আরও কয়েকটি বিভাগ থাকতে পারে।
আপনি এই ভিউতে ফাইলগুলিতে ডান-ক্লিক করতে পারেন এবং তাদের চেক আউট করতে পারেন, এগুলি যুক্ত করতে পারেন, এমনকি তাদের আবারও ফিরিয়ে দিতে পারেন।
এটি একটি খুব সহজ সরঞ্জাম যা আমার পাছা কয়েকবার সংরক্ষণ করেছিল।
সম্পাদনা: আহ প্রশ্নটি বিশেষত স্ক্রিপ্টগুলির বিষয়ে জিজ্ঞাসা করেছিল, তবে আমি এই উত্তরটি এখানে ঠিক রেখে দেব।
p4 status
কেবল অনতিযুক্ত ফাইলগুলিই খুঁজে পায় না, এটি প্রকৃতপক্ষে তাদের ট্র্যাকিং শুরু করে। অর্থাৎ p4 status
কোনও পঠনযোগ্য ক্যোয়ারী নয়, যেহেতু নামটি থেকে সন্দেহ হয় তবে এটি আসলে একটি কমান্ড যা স্টাফ পরিবর্তন করে - ওয়ার্কস্পেস ফাইলগুলি নয়। এটি স্ট্যাটাস কমান্ডের কী করা উচিত নয় এবং কী svn status
করে তা নয়। আমি যে নিকটতম জিনিসটি সন্ধান করতে পারি তা svn status
হ'ল p4 reconcile -na
- -এ "ফাইল যুক্ত করা উচিত" বলার অপেক্ষা রাখে না, "আসলে কিছুই পরিবর্তন করবেন না" বলার অপেক্ষা রাখে না। /// আমি মূলত আরও শক্তিশালী কিছু বলেছি।
p4 status
মূলত একটি প্রতিশব্দ p4 reconcile -n
। সম্ভবত আপনি দৌড়ে p4 status -A
যা কোন প্রতিশব্দ p4 reconcile
?
লিনাক্সে, বা আপনার উইন্ডোতে gnu- সরঞ্জাম ইনস্টল করা আছে:
find . -type f -print0 | xargs -0 p4 fstat >/dev/null
এটি প্রতিটি অ্যাকাউন্টবিহীন ফাইলের জন্য একটি ত্রুটি বার্তা প্রদর্শন করবে। আপনি যদি এই আউটপুট ক্যাপচার করতে চান:
find . -type f -print0 | xargs -0 p4 fstat >/dev/null 2>mylogfile
.p4ignore
এবং প্রাক-প্রাকদর্শন এবং অচিহ্নযুক্ত / পরিবর্তিত / মুছে ফেলা ফাইলগুলি সম্পাদনা করতে পারে।
find . -type l
) পরিচালনা করে না এবং জোর করে যুক্ত পি 4 ফাইলের জন্য বিভ্রান্তিকর আউটপুট দেয় কারণ সেগুলিতে @
বা %
অক্ষর রয়েছে। তবে, এই জাতীয় ফাইল সংখ্যালঘুতে রয়েছে, সুতরাং এই প্রান্তগুলির একটি ম্যানুয়াল পর্যালোচনা বেশিরভাগ ক্ষেত্রে কাজ করবে।
আহ, পারফোর্স ক্লাসিকগুলির মধ্যে একটি :) হ্যাঁ, এটি সত্যই ডেকে আনে যে এটির জন্য ডিফল্ট কমান্ডগুলির জন্য সহজ কোনও সহজ উপায় নেই easy
সবচেয়ে সহজ উপায় হ'ল আপনার ক্লায়েন্টের মূলের নীচে সমস্ত ফাইল সন্ধান করার জন্য একটি কমান্ড চালানো এবং তারপরে সেগুলি ডিপোতে যুক্ত করার চেষ্টা করা। আপনি সমস্ত নতুন ফাইলের একটি পরিবর্তন তালিকা সহ শেষ করবেন এবং বিদ্যমান ফাইলগুলি উপেক্ষা করা হবে।
যেমন দির / স / বি / এডি | p4 -x - যোগ করুন
(একটি নিক্স কমান্ড লাইন থেকে 'সন্ধান করুন-টাইপ এফ-প্রিন্ট' ব্যবহার করুন)।
আপনি যদি কোনও শারীরিক তালিকা চান (কনসোল বা ফাইলে) তবে আপনি কোনও ডিফের ফলাফলগুলি পাইপ করতে পারেন (বা আপনি যদি তাদের একটি পরিবর্তন তালিকায় চান তবে যোগ করুন)।
আপনি যদি P4Win এর মধ্যে এটি চালাচ্ছেন তবে আপনি বর্তমান ওয়ার্কস্পেসের ক্লায়েন্টের রুটকে বিকল্প হিসাবে ব্যবহার করতে পারেন। R।
এর কোন অ্যানালগ আছে
svn status
নাকিgit status
?
হ্যাঁ, কিন্তু ।
পারফোর্স সংস্করণ ২০১২.১ অনুসারে, কমান্ডটি আছে p4 status
এবং পি 4 ভি-তে 'অফলাইন কাজের পুনর্মিলন' রয়েছে। যাইহোক, তারা উভয় খুব ধীর। অপ্রাসঙ্গিক ফাইলগুলি বাদ দিতে আপনাকে https://stackoverflow.com/a/13126496/284795p4ignore.txt
প্রতি ফাইল লিখতে হবে
p4 status
2012.1 প্রকাশের পর থেকে বেশ কয়েকটি কার্যকারিতা উন্নতি হয়েছে । p4 status
পারফরম্যান্স উদ্বেগের কারণে আপনি যদি দূরে থেকে থাকেন তবে এটি এখন কীভাবে আচরণ করে তা দেখার জন্য এটি আবার পরীক্ষা করার জন্য উপযুক্ত।
আমি একটি উত্তর যুক্ত করতে প্ররোচিত বোধ করি, যেহেতু গৃহীত উত্তর এবং অন্যদের মধ্যে আমার কাছে একটি উল্লেখযোগ্য সমস্যা হ'ল: তারা কেবল-পঠনযোগ্য ক্যোয়ারী কমান্ডের মধ্যে পার্থক্য বুঝতে পারে না এবং একটি আদেশ যা পরিবর্তন করে।
আমি এই উত্তরের জন্য কোনও ক্রেডিট আশা করি না, তবে আমি আশা করি যে এটি গ্রহণযোগ্য তবে আইএমএইচওর ভুল উত্তর অনুসরণ করে অন্যকে সময় অপচয় এবং ভুল করা এড়াতে সহায়তা করবে।
--- + ব্রিফ
পারফর্ম ওয়ার্কস্পেসে সমস্ত লাইন ছাড়াই থাকা ফাইলগুলি খুঁজে পাওয়ার সম্ভবত সবচেয়ে সুবিধাজনক উপায় p4 reconcile -na
।
-a
"আমাকে এমন ফাইল দিন যা ভাণ্ডারে নেই, অর্থাত এটি যুক্ত করা উচিত"।
-n
"কোনও পরিবর্তন করবেন না" - অর্থাত শুকনো রান। (যদিও বার্তাগুলি "অ্যাডের জন্য খোলা হয়েছে" বলতে পারে, মানসিকভাবে আপনাকে অবশ্যই এটি ব্যাখ্যা করতে হবে "-n না হলে অ্যাডের জন্য খোলা হবে)"
সম্ভবত অফলাইনে থাকাকালীন সমস্ত স্থানীয় পরিবর্তনগুলি সন্ধান করার সর্বাধিক সুবিধাজনক উপায় - কেবল যে ফাইলগুলি যুক্ত করার দরকার হতে পারে তা নয়, যে ফাইলগুলি মোছার প্রয়োজন হতে পারে বা যা সম্পাদনা করার জন্য খোলা না হয়ে পরিবর্তন করা হয়েছিল p4 edit
তা হ'ল p4 reconcile -n
।
বেশিরভাগ উত্তর স্ক্রিপ্ট সরবরাহ করে, প্রায়শই জড়িত p4 fstat
। যদিও আমি এই সমস্ত স্ক্রিপ্টগুলি যাচাই করে নেই, আমি প্রায়শই পারফর্স কমান্ডের ঘাটতি পূরণ করতে অনুরূপ স্ক্রিপ্টগুলি ব্যবহার করি p4 reconcile -n
- যেমন প্রায়শই আমি দেখতে পাই যে পার্ফোর্স ডিপো পাথ বা ওয়ার্কস্পেস পাথের চেয়ে আমি স্থানীয় পথ চাই।
--- + সতর্কতা
p4 status
অন্যান্য সংস্করণ নিয়ন্ত্রণ সিস্টেমে স্থিতি কমান্ডের সমকক্ষ নয়।
p4 status
কেবল পঠনযোগ্য ক্যোয়ারী নয়। p4 status
বাস্তবে একই ধরণের পরিবর্তনগুলি পাওয়া যায় p4 reconcile
এবং সেগুলি সংগ্রহস্থলগুলিতে যুক্ত করে। শুকনো-রান বিকল্পের মতো p4 status
বলে মনে হচ্ছে না।-n
p4 reconcile
যদি আপনি p4 status
এটি করেন তবে ফাইলগুলি দেখুন এবং "ওহ, আমার সেগুলির দরকার নেই" মনে করুন, তবে আপনি p4 revert
যদি একই ওয়ার্ক স্পেসে সম্পাদনা চালিয়ে যেতে চান তবে আপনার তাদের কাছে এগুলি করতে হবে । অন্যথায় p4 status
আপনার চেঞ্জসেটে যুক্ত হওয়া পরিবর্তনগুলি পরের বারে পরীক্ষা করা হবে।
সেখানে ব্যবহার করতে সামান্য অথবা কোন কারণ আছে বলে মনে হয় p4 status
বদলে p4 reconcile -n
, স্থানীয় কর্মক্ষেত্র বনাম ডিপো পথনাম কিছু বিস্তারিত জানার জন্য ব্যতীত।
আমি কেবল এটিই কল্পনা করতে পারি যে, যে কেবল 'পঠন-পঠনযোগ্য কমান্ডের জন্য' স্থিতি 'পছন্দ করেছে তার ইংরাজী ভাষা এবং অন্যান্য সংস্করণ নিয়ন্ত্রণ সরঞ্জামগুলির সীমিত কমান্ড ছিল।
--- + P4V
জিইউআই
জিইউআই-তে p4v
, পুনর্মিলন কমান্ডটি স্থানীয় পরিবর্তনগুলি সন্ধান করে যা সম্পাদনা করার জন্য যুক্ত করতে, মুছতে বা খোলার প্রয়োজন হতে পারে। ভাগ্যক্রমে এটি তাদের ডিফল্টরূপে একটি পরিবর্তন তালিকায় যোগ করে না; তবে আপনি পরিবর্তনগুলি প্রতিস্থাপন করতে না চাইলে আপনি পুনরায় মিলন উইন্ডোটি পরীক্ষা করে দেখার পরে এটি বন্ধ করার বিষয়ে সতর্ক হতে চাইতে পারেন।
আমি আমার সরঞ্জামে নিম্নলিখিতটি ব্যবহার করি যা ওয়ার্কস্পেসের কোনও ফাইল যা ব্যাকআপের (উইন্ডোজের জন্য) থেকে পৃথক হয় তা ব্যাক আপ করে। এটি এমন কিছু বিজোড় কেস পরিচালনা করে যা পার্ফোর্স এম্বেডড ফাঁকা, তারা, পার্সেন্টস এবং হ্যাশমার্কের মতো পছন্দ করে না:
dir /S /B /A-D | sed -e "s/%/%25/g" -e "s/@/%40/g" -e "s/#/%23/g" -e "s/\*/%2A/g" | p4 -x- have 1>NUL:
" দির / এস / বি / এডি " ডিরেক্টরিগুলি (/ এডি ) বাদ দিয়ে "ফালি" ফর্ম্যাট ( / বি ) এই ফোল্ডারে ( / এস ) বা এর নীচে সমস্ত ফাইল তালিকাভুক্ত করে । " সেড " তাদের " % xx " আকারে (একটি লা এইচটিএমএল) বিপজ্জনক অক্ষর পরিবর্তন করে এবং " p4 have " কমান্ড এই তালিকাটি (" -x- ") সার্ভারের বিরুদ্ধে পরীক্ষা করে যা ফাইলগুলি প্রকৃতপক্ষে সংগ্রহস্থলের মধ্যে সনাক্ত করে files (" 1> NUL: ")। ফলাফলটি একগুচ্ছ লাইনের মতো:
Z:\No_Backup\Workspaces\full\depot\Projects\Archerfish\Portal\Main\admin\html\images\nav\navxx_background.gif - file(s) not on client.
এট ভয়েইল!
বিকল্পভাবে P4Win থেকে, বাম হাতের প্যানেলে "" স্থানীয় ফাইলগুলি ডিপোতে নেই "বিকল্পটি ব্যবহার করুন।
আমি পি 4 ভি খুব বেশি ব্যবহার করি না, তবে আমি মনে করি যে ওয়ার্কস্পেস ভিউ ট্যাবটির ফিল্টার ড্রপডাউনটিতে "লোকাল ওয়ার্কস্পেস ফাইলগুলি লুকান" নির্বাচন করা সমতুল্য p4
পি 4 ভি 2015.1 এ আপনি এই বিকল্পগুলি ফিল্টার বোতামের নীচে পাবেন:
মন্তব্য করার মতো পর্যাপ্ত খ্যাতি পয়েন্ট আমার কাছে নেই, তবে রসের সমাধানটিতে অ্যাডের জন্য খোলা ফাইলগুলির তালিকা রয়েছে। আপনি সম্ভবত তার উত্তরটি আপনার কার্যক্ষেত্র পরিষ্কার করার জন্য ব্যবহার করতে চান না ।
p4 fstat
পরিবর্তে নিম্নলিখিত ব্যবহার (ধন্যবাদ মার্ক হ্যারিসন) p4 have
, এবং ডিপোতে নেই এবং অ্যাডের জন্য উন্মুক্ত নয় এমন ফাইলগুলির তালিকা করে ।
dir /S /B /A-D | sed -e "s/%/%25/g" -e "s/@/%40/g" -e "s/#/%23/g" -e "s/\*/%2A/g" | p4 -x- fstat 2>&1 | sed -n -e "s/ - no such file[(]s[)]\.$//gp"
=== জ্যাক
দ্রুত পদ্ধতি, তবে সামান্য গোঁড়া। যদি কোডবেস খুব বেশিবার নতুন ফাইল / পরিবর্তন দর্শন যোগ না করে, আপনি আপনার চেকআউটের বাইরে একটি স্থানীয় 'গিট' সংগ্রহস্থল তৈরি করতে পারেন। একটি পরিচ্ছন্ন পারফোর্স সিঙ্ক থেকে, গিট আরম্ভ করুন, স্থানীয়ভাবে সমস্ত ফাইল যুক্ত এবং প্রতিশ্রুতিবদ্ধ। গিটের স্থিতি দ্রুত এবং পূর্বে প্রতিশ্রুতিবদ্ধ না হওয়া ফাইলগুলি দেখায়।
p4 fstat
কমান্ড যদি একটি ফাইল কর্মক্ষেত্র বিদ্যমান তাই আপনি পরীক্ষা, সঙ্গে মেশা করতে দেয় find
নিম্নলিখিত পার্ল উদাহরণ হিসাবে চেক করতে ফাইল সনাক্ত:
// throw the output of p4 fstat to a 'output file'
// find:
// -type f :- only look at files,
// -print0 :- terminate strings with \0s to support filenames with spaces
// xargs:
// Groups its input into command lines,
// -0 :- read input strings terminated with \0s
// p4:
// fstat :- fetch workspace stat on files
my $status=system "(find . -type f -print0 | xargs -0 p4 fstat > /dev/null) >& $outputFile";
// read output file
open F1, $outputFile or die "$!\n";
// iterate over all the lines in F1
while (<F1>) {
// remove trailing whitespace
chomp $_;
// grep lines which has 'no such file' or 'not in client'
if($_ =~ m/no such file/ || $_ =~ m/not in client/){
// Remove the content after '-'
$_=~ s/-\s.*//g;
// below line is optional. Check ur output file for more clarity.
$_=~ s/^.\///g;
print "$_\n";
}
}
close F1;
অথবা আপনি ব্যবহার করতে পারেন p4 reconcile -n -m ...
যদি এটি 'মোছার জন্য খোলা হয়' তবে তা ওয়ার্কস্পেস থেকে সরানো হবে। লক্ষ্য করুন যে উপরের কমান্ডটি পূর্বরূপ মোডে চলছে ( -n
)।
আমার এমন কিছু দরকার ছিল যা লিনাক্স, ম্যাক বা উইন্ডোজ উভয় ক্ষেত্রেই কাজ করবে। তাই আমি এর জন্য পাইথনের স্ক্রিপ্ট লিখেছিলাম। মূল ধারণাটি হ'ল ফাইলগুলির মাধ্যমে পুনরাবৃত্তি করা এবং p4 fstat
প্রতিটিটির সম্পাদন করা। (অবশ্যই নির্ভরতা এবং tmp ফোল্ডার উপেক্ষা)
আপনি এখানে এটি পেতে পারেন: https://gist.github.com/givanse/8c69f55f8243733702cf7bcb0e9290a9
এই কমান্ডটি আপনাকে এমন ফাইলগুলির একটি তালিকা দিতে পারে যা যুক্ত করা, সম্পাদনা করা বা অপসারণ করা দরকার:
পি 4 স্ট্যাটাস -এড ...
আপনি এগুলি পৃথকভাবেও ব্যবহার করতে পারেন
p4 স্থিতি -a ...
পি 4 স্ট্যাটাস -e ...
পি 4 স্ট্যাটাস-ডি ...
পি 4 ভি-তে, "দেখুন" মেনু আইটেমের নীচে "ফাইলগুলিতে ফোল্ডার" চয়ন করুন যা ডান ফলকে একটি নতুন ট্যাব নিয়ে আসে। ট্যাবগুলির একেবারে ডানদিকে একটি সামান্য আইকন রয়েছে যা 2 আইকন সহ "ফাইলগুলিতে ফোল্ডার" নামে একটি উইন্ডো নিয়ে আসে। ফানেলের মতো দেখতে বাম আইকনটি নির্বাচন করুন এবং আপনি বেশ কয়েকটি বিকল্প দেখতে পাবেন। "ডিপোতে নেই আইটেমগুলি দেখান" চয়ন করুন এবং ফোল্ডারের সমস্ত ফাইল প্রদর্শিত হবে। তারপরে যে ফাইলটি আপনি যুক্ত করতে চান তার উপর ডান ক্লিক করুন এবং "চিহ্নের জন্য অ্যাড ..." নির্বাচন করুন। এটি "মুলতুবি" ট্যাবে রয়েছে তা যাচাই করতে পারেন। কেবল স্বাভাবিক হিসাবে জমা দিন (Ctrl + S)।