আমি কি টিএফএস ২০০৮-তে অন্য একটি শাখায় আনশেলিভ করতে পারি?


105

আসুন ধরে নেওয়া যাক যে আমার টিমের কিছু বিকাশকারী তার পরিবর্তনগুলি শেল্ভ করেছিলেন যা তিনি শাখা এ'তে করেছিলেন এবং আমি শাখা বিতে কাজ করছি, আমি কী তার শাখা বিতে পরিবর্তিত করতে পারি? (জিইউআই বা কমান্ড প্রম্পট দ্বারা)


উত্তর:


129

ভিসুয়াল স্টুডিও শক্তি সরঞ্জাম আপনি এই কাজ করতে দেওয়া উচিত।

C:\src\2\Merlin\Main>tfpt unshelve /?
tfpt unshelve - Unshelve into workspace with pending changes

Allows a shelveset to be unshelved into a workspace with pending changes.
Merges content between local and shelved changes. Allows migration of shelved
changes from one branch into another by rewriting server paths.

Usage: tfpt unshelve [shelvesetname[;username]] [/nobackup]
                     [/migrate /source:serverpath /target:serverpath]

 shelvesetname          The name of the shelveset to unshelve
 /nobackup              Skip the creation of a backup shelveset
 /migrate               Rewrite the server paths of the shelved items
                        (for example to unshelve into another branch)
 /source:serverpath     Source location for path rewrite (supply with /migrate)
 /target:serverpath     Target location for path rewrite (supply with /migrate)
 /nobackup              Skip the creation of a backup shelveset

উদাহরণস্বরূপ, শাখা 1 তে নির্মিত "শেল্ভ সেট নাম" নামে একটি তাক সেটটি মার্জ করার জন্য এটি ব্যবহার করুন:

>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"

2
ওহহহ ... কর্ট, আমার মনে হয় আপনি আমার দিনটি ঠিক করে দিয়েছেন। আমি পরে চেষ্টা করতে যাচ্ছি।
হার্মেস

আপনি কোথা থেকে পাওয়ার সরঞ্জামগুলি পান?
গাই

3
হ্যাঁ, পাওয়ার সরঞ্জামগুলি আপনাকে এটি করতে দেবে, তবে দুর্ভাগ্যক্রমে সংশ্লেষটি প্রতিবার মারাত্মকভাবে ভুল হয়ে যায় তাই এটি অকেজো হওয়ার পাশেই।
টিম বুকার

সংহতটি খুব খারাপ নয়। আমি দেখেছি যে অটো মার্জ 90% ক্ষেত্রে কাজ করে।
জাস্টিন রুড

2
সবেমাত্র চেষ্টা করে দেখেছি। আমি অনেকগুলি ফাইল শেলফেটের মধ্যে সরিয়ে নিয়েছি এবং দুর্ভাগ্যক্রমে এটি ভালভাবে কাজ করছে বলে মনে হচ্ছে না। আপনাকে এই সমস্ত ফাইল ম্যানুয়ালি "মাইগ্রেট" করতে হবে (কোনও মাল্টি-সিলেক্টও নেই)। এবং তারপরে এগুলি ওয়ার্কস্পেসে নতুন ফাইল হিসাবে যুক্ত করা হয়। আমি এটি ব্যবহার করতে পারি না, কারণ আমি এটি আর সংযুক্ত করতে পারি না।
স্টিফান স্টেইনগার

34

Tfpt এর বিকল্প সমাধান যা প্রতিটি ফাইলকে ম্যানুয়ালি একত্রীকরণ করতে এড়ানো যায়

টিএফএস পাওয়ার সরঞ্জামটির সমস্যাটি হ'ল আপনি 'ভিত্তিহীন মার্জ' করছেন তাই প্রতিটি ফাইলই নিশ্চিত করতে হবে । আমার 800 টিরও বেশি ফাইলের শেলফেট ছিল এবং আমি কখনই 'অটো মেশিন' বোতামটিতে বিশ্বাস করি না এবং প্রতিটি ফাইলই ঘুরেফিরে যেতে চাই না - তাই আমাকে অন্য উপায় খুঁজে বের করতে হয়েছিল!

  • টিএফএস শেলভিসেট সাইডিকিক ডাউনলোড এবং ইনস্টল করুন ।
  • সরঞ্জামটি VS2010 এ 'সরঞ্জামগুলি' এর অধীনে উপস্থিত হয়
  • 'শেলভিসেট সাইডিকিক' সরঞ্জামটি চালান, তাকগুলি দেখানোর জন্য অনুসন্ধান ক্লিক করুন
  • আপনার তাকটি ডানদিকে ক্লিক করুন এবং 'রপ্তানির তাক' নির্বাচন করুন
  • যেমন একটি খালি জায়গায় সংরক্ষণ করুন C:\temp\shelveset-name
  • এখন একটি সম্পূর্ণ ডিরেক্টরি কাঠামো রয়েছে যাতে নতুন ফাইলগুলি যুক্ত থাকে

(দ্রষ্টব্য: রফতানির সময় কোনও অগ্রগতি বার নেই - তাই আপনার যদি রফতানিতে অনেক বড় সময় লাগে তবে উইন্ডোজ এক্সপ্লোরার (ফাইল> বৈশিষ্ট্য> আকার) এ পরীক্ষা করে দেখতে হবে যে ফাইলগুলি এখনও নীচে নেমে আসছে যদি আপনি মনে হয় এটি হিমশীতল)।

আপনাকে এখন সেগুলি উইন্ডোজ এক্সপ্লোরার দিয়ে নতুন শাখায় অনুলিপি করতে হবে।

এটি আমার পক্ষে কাজ করেছে:

  • প্রথমে পুরো সমাধানটি পরীক্ষা করা (নতুন শাখায়)
  • সমাধান বন্ধ করুন
  • ভিএস এর মধ্যে টিএফএস অফলাইন নিন (এটি করার সরঞ্জাম ) - এটি কেন গুরুত্বপূর্ণ তা নীচে দেখুন ...
  • উইন্ডোজ এক্সপ্লোরারে ফাইলগুলি অনুলিপি করুন। ডিরেক্টরিটির কাঠামোর c:\temp\shelveset-nameনতুন শাখার সাথে সম্পর্কিত হয়ে নতুন নামকরণ করতে হবে। পরামর্শ: আপনি সঠিক জায়গায় অনুলিপি করেছেন তা নিশ্চিত করুন !!!
  • অনলাইনে ভিএস আনুন
  • এটিতে সমস্ত পরিবর্তনগুলি খুঁজে পাওয়া উচিত এবং নতুন ফাইল যুক্ত করা উচিত
  • যদি এটি আপনাকে সোর্সকন্ট্রোলকে বেঁধে রাখতে বলে তবে নতুন শাখার জন্য পথটি সঠিক কিনা তা যাচাই করা নিশ্চিত হন।
  • পরীক্ষা করুন - এবং তারপরে নতুন ফাইলগুলি চেক ইন করুন

গুরুত্বপূর্ণ: আমি খুঁজে পেয়েছি যে আপনি যদি প্রথমে টিএফএস অফলাইনে না নেন তবে আপনার কোনও নতুন ফাইল (আপনার স্বেচ্ছাসেবীর পরিবর্তন থেকে) কিছুটা লাল চেক চিহ্ন ছাড়াই প্রদর্শিত হবে এবং আপনাকে এগুলি আবার বাদ দিয়ে আবার অন্তর্ভুক্ত করতে হবে তাদের যোগ করতে পেতে। কারও কাছে যদি এই সমস্যার বিকল্প সমাধান থাকে তবে আমি তা জানতে আগ্রহী - রিফ্রেশ কাজ করবে বলে মনে হচ্ছে না।


বৃহত্তর তাকের জন্য এই পদ্ধতিটি সহজ এবং আমি অনুসরণ করেছি। ধন্যবাদ!
অনি

এই পদ্ধতিটি বড় বড় তাকগুলির জন্য সত্যই ভাল
আমির

ভাল আপনি টিএফএস অফলাইনে না নিয়ে পালাতে পারেন। তবে আমি নিশ্চিত নই যে এটির পক্ষে এটি মূল্যবান। আমি যা করেছি তা তুলনা ক্রিয়াটি চালানো - প্রাসঙ্গিক মেনু থেকে উত্স কন্ট্রোল এক্সপ্লোরারে প্রাসঙ্গিক ফোল্ডারে খুলুন। কেউ কেবল আলাদা আলাদা আইটেমগুলি দেখানোর জন্য আউটপুট ফিল্টার করতে পারে। তারপরে এটি তাদের উপর একাধিক নির্বাচন করার অনুমতি দেয় এবং একবারে তাদের সমস্তটি চেক আউট করে। তবে আমার ধারণা টিএফএস অফলাইনে নেওয়া এর চেয়ে দ্রুত এবং সহজ।
চিহ্নিত করুন

দুর্ভাগ্যক্রমে, যখন আমার তাক লাগানোর ক্ষেত্রে "যুক্ত" পরিবর্তন হয় তখন এটি আমার পক্ষে কার্যকর হয় না। আমি একটি ত্রুটি পেয়েছি "তাক লাগানো ফাইলটি পুনরুদ্ধার করতে ব্যর্থ। একটি ফাইলের জন্য শেল্ভের মুলতুবি পরিবর্তন দরকার"।
জন স্যান্ডার্স

@ জনসনডার্স বলতে কী বোঝায় যে কোনও সংযোজন বা একচেটিয়াভাবে সংযোজন সহ একটি তাক ? বছরগুলিতে আমার এটি করার দরকার নেই :)
সাইমন_উইভার

1

শেল্ফের তথ্যে নির্দিষ্ট পথে যাওয়ার পথে তা অন্তর্ভুক্ত থাকে। দুর্ভাগ্যক্রমে আমি যে স্থানটিতে আশ্রয় নেওয়া হয়েছিল সে ছাড়া অন্য কোনও জায়গায় আনশেলিভ করার কোনও স্বয়ংক্রিয় উপায় জানি না। আমি যে বার এটি করতে চেয়েছি আমাকে নতুন শাখায় সমতুল্য ফাইলগুলি পরীক্ষা করতে হবে, পুরানো শাখাটি থেকে অন্বেষণ করা হবে, তারপরে নিজে হাতে ফাইলগুলি অনুলিপি করতে হবে।

সম্পাদনা: হ্যাঁ, আমি অনুমান করি যে আমি এটি শক্তভাবে করেছিলাম। আমাকে কর্টের সমাধানটি চেষ্টা করে দেখতে হবে। :)


0

এটি করার জন্য আমি বেশ ভাল সময় ব্যয় করেছি এবং আমার অতিক্রম করার জন্য কয়েকটি সমস্যা ছিল। এটি সম্ভব তবে এখানে এই সমস্যাগুলি এড়াতে কয়েকটি বিষয় এবং কয়েকটি বিধি অনুসরণ করা সম্ভব

ত্রুটি:

কর্মক্ষেত্র নির্ধারণ করতে অক্ষম

উত্স শাখা রুট ফোল্ডার থেকে কমান্ড চালিয়ে এই নির্দিষ্ট সমস্যাটি সমাধান করা হয়েছিল । এটি এসও-র কিছু জবাবের বিপরীতে যেখানে তারা "লক্ষ্য" শাখা ব্যবহার করতে বলে - না, "উত্স" ব্যবহার করুন:

cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"

দ্বিতীয় ইস্যু এর পরে হাজির। দেখে মনে হচ্ছে এটি টিএফএস সার্ভারের সাথে সংযোগ স্থাপন করতে পারে নি। আমি যা বুঝতে পেরেছি, আমি একাধিক ভিএস ইনস্টল করেছি এবং বিভিন্ন টিএফএস সার্ভারের সাথে সংযুক্ত করেছি। আমি ভিএস 12 ব্যবহার করছিলাম এবং আমার ওয়ার্কস্পেস এবং সার্ভার সংযোগ ছিল। তবে আমি বুঝতে পারি নি যে TFPT2013 কাজ করার জন্য একই সংযোগটি VS13 এ প্রতিলিপি করা দরকার। এটি একই সার্ভার এবং ওয়ার্কস্পেসের সাথে সংযোগ স্থাপন করে।

TFPT2015 ব্যবহার করেও এটি করার চেষ্টা করেছি তবে আমি এটি ইনস্টল করেছি এবং এটি TFPT.exe ইনস্টল করেনি তাই এটি অকেজো। তাই আমি টিএফপিটি ২০১৩ থেকে টিএফএস ২০১৫ এ চেষ্টা করেছি এবং এটি এই নির্দিষ্ট কমান্ডের জন্য কাজ করেছে। আমি ভাবছি কেন, যদি ভিএস 12/13 টিএফএস2015 এর বিপরীতে কাজ করে না?

সংক্ষেপ

  • সিএমডি বা ডিভিসিএমডি ব্যবহার করুন - তাতে কিছু আসে যায় না
  • উত্স শাখা রুট ফোল্ডার থেকে কমান্ড চালান
  • নির্দিষ্ট ভিএসের জন্য টিম এক্সপ্লোরার সার্ভার সংযোগ যাচাই করুন
  • টিএফ পাওয়ার সরঞ্জাম 2013 টিএফএস ভি 15 এর বিপরীতে কাজ করে, কমপক্ষে স্থানান্তরিত বিকল্পের কাজ করে

0

নীচের পদক্ষেপগুলি ছোট আকারের তাক তাক (ts 20 ফাইল বা তার চেয়ে কম) জন্য ব্যবহার করা যেতে পারে।

  1. তাক ও টার্গেট শাখাগুলিতে, সমস্ত মুলতুবি থাকা আপডেটগুলি চেক ইন বা রোলড করে দিয়ে শুরু করুন।
  2. শেল্ভসেট শাখায়, প্রযোজ্য শেল্ভসেট থেকে ফাইলগুলি আনশেলভ করুন।
  3. টার্গেট ব্রাঞ্চে, স্বেচ্ছাসেবিত তাকের মধ্যে থাকা বিদ্যমান ফাইলগুলির যে কোনও একটিকে চেকআউট করুন।
  4. মার্জ আপডেটগুলির প্রয়োজন হলে (যদি থাকে) সেই ফাইলগুলি সনাক্ত করতে লক্ষ্য শাখায় থাকা অসচ্ছল ফাইলগুলির সাথে লক্ষ্য শাখার সাথে তুলনা করুন।
  5. প্রয়োজনে ম্যানুয়ালি পূর্ববর্তী পদক্ষেপের প্রযোজ্য ফাইলগুলিতে মার্জ আপডেট করুন এবং এই ফাইলগুলি লক্ষ্য শাখা কর্মক্ষেত্রে সংরক্ষণ করুন।
  6. শেল্ভসেট শাখা কর্মক্ষেত্র থেকে লক্ষ্য শাখা কর্মক্ষেত্রে অন্যান্য শেল্ভসেট ফাইলগুলি অনুলিপি করুন।
  7. লক্ষ্যযুক্ত শাখা কর্মস্থলে নতুন আপডেট হওয়া ফাইলগুলি চেক ইন করা ফাইলগুলির সাথে তুলনা করুন। প্রয়োজন অনুযায়ী যে কোনও সংশোধন করুন।
  8. লক্ষ্য শাখায় নতুন আপডেট হওয়া ফাইলগুলি দেখুন।
  9. শেলভসেট শাখায় অপরিবর্তিত ফাইলগুলিকে রোলব্যাক করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.