TFS

2011-10-13 17 views
59

के लिए वर्कस्पेस पर वर्तमान परिवर्तन आईडी प्राप्त करें मैं कैसे पता लगा सकता हूं कि वर्तमान में मेरे स्थानीय कार्यस्थान में कौन से परिवर्तन हैं?TFS

निश्चित रूप से, मैं एक फ़ाइल चुन सकता हूं और उसका इतिहास देख सकता हूं। हालांकि, अगर वह फ़ाइल हाल ही में अपडेट नहीं की गई थी, तो इसका परिवर्तन संभवतः उसी समाधान में हाल ही में अपडेट की गई फ़ाइलों की तुलना में पुराना है।

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

परिवर्तन में पता लगाने के अंत में मुझे याद रखना होगा कि नवीनतम फाइलें क्या बदल गईं और उनका इतिहास देखें।

वहाँ यह करने के लिए एक बेहतर तरीका है?

+0

टीएफएस का कौन सा संस्करण? –

+0

आप अपने वर्तमान परिवर्तन को क्यों जानना चाहते हैं? –

+0

क्या होता है जब आपका कार्यस्थान किसी परिवर्तन के प्रतिनिधि नहीं होता है? मान लें कि आपके पास '$/A' मैप किया गया है, और आपने परिवर्तन ए को पुनर्प्राप्त कर लिया है, और आपके पास' $/B' मैप किया गया है, और आपने परिवर्तन बी पुनर्प्राप्त कर लिया है। आपका वर्कस्पेस क्या परिवर्तन है? –

उत्तर

86

आपका जवाब बक होजेस द्वारा एक MSDN ब्लॉग पर है: अपने कार्यक्षेत्र की जड़ (ऊपर) से How to determine the latest changeset in your workspace

, cmd में प्रदर्शन:

tf history . /r /noprompt /stopafter:1 /version:W 
0

आप PowerShell (see also उपयोग करना चाहते हैं; बराबर @kroonwijk का जवाब देने के लिए):

  1. (एक बार स्नैप-इन में TFS सक्षम, पहले से ही नहीं तो)

    add-pssnapin Microsoft.TeamFoundation.PowerShell

  2. उपयोग TFS cmdlet वर्तमान changeset आईडी

    Get-TfsItemHistory <PATH_TO_PROJECT> -Recurse -Stopafter 1 -Version W

0

आम जवाब है, tf.exe history . /r उपयोग करने के लिए प्राप्त करने के लिए सीधे काम करता है, लेकिन बुरी तरह धीमी गति से हो सकता है। हमारे मामले में इसमें 10-15 सेकंड लगते हैं। अब मैं दो चरण जांच का उपयोग करता हूं, पहले कुछ मनमानी फ़ाइलों के संशोधन की जांच कर रहा हूं (मैं रूट फ़ोल्डर में फ़ाइलों का उपयोग कर रहा हूं)।

powershell के साथ:

$tfexepath = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe" 
$localpath = "C:\some\tfs\directory" 

$result = & $tfexepath history $localpath /noprompt /stopafter:1 /version:W 
"$result" -match "\d+" | out-null 
$id = $matches[0] 

और फिर, तो/r ध्वज का उपयोग कर, लेकिन सीमा खोज संशोधन से शुरू करने के लिए ऊपर पाया:

$result2 = & $tfexepath history $localpath /r /noprompt /stopafter:1 /version:$id~W   
"$result2" -match "\d+" | out-null 
$id2 = $matches[0] 

#result: 
Write-Host $id2 

चार हमारे कोड बेस, यह कुल समय 10-15 से 1.4-1.5 सेकेंड तक लाता है।

जहां तक ​​मुझे लगता है कि कोई कमी या सीमाएं नहीं हैं, लेकिन मुझे लगता है कि यह एक छोटे से भंडार में धीमा हो सकता है। - मुझे जानकर खुशी होगी।