2012-04-04 13 views
15

मान लें कि एक टीएफएस प्रोजेक्ट Project उपफोल्डर्स trunk और 1.0 के साथ है। trunk में इस प्रोजेक्ट के लिए एप्लिकेशन कोड का नवीनतम संस्करण है और 1.0 में एक ही नाम के रिलीज़ संस्करण के लिए एक ही एप्लिकेशन के लिए कोड शामिल है।मैं किसी विशेष TFS प्रोजेक्ट उप-फ़ोल्डर के लिए सभी लेबल कैसे ढूंढ सकता हूं?

दोनों उप-फ़ोल्डरों के लिए लेबल हैं और सभी लेबलों में उप-फ़ोल्डरों में से केवल एक में फ़ाइलें शामिल हैं। [आप यह भी मान सकते हैं कि पूरे उप-फ़ोल्डर में सभी फ़ाइलों के लिए लेबल एक विशिष्ट (अधिकतम) परिवर्तन पर रिकर्सिव हैं, यदि यह आपके उत्तर को सरल बनाता है।]

मैं एक के लिए लेबल की सूची कैसे बना सकता हूं इन सब-फ़ोल्डर्स में, विजुअल स्टूडियो का उपयोग करके, टीएफएस tf.exe कमांड लाइन टूल, या सार्वजनिक रूप से (और स्वतंत्र रूप से) उपलब्ध कोई अन्य टूल या कोड।

नोट - मैंने टी-एसक्यूएल कोड लिखा है जो इस जानकारी को उत्पन्न करने के लिए सीधे TFS संस्करण नियंत्रण डेटाबेस से पूछताछ करता है, लेकिन मुझे उत्सुकता है कि ऐसा करने के 'बेहतर' तरीके हैं या नहीं।

उत्तर

27

दृश्य स्टूडियो में, स्रोत नियंत्रण एक्सप्लोरर विंडो में, उप-फ़ोल्डर जिसके लिए आप प्रासंगिक लेबल सूचीबद्ध करना चाहते हैं राइट क्लिक करें और संदर्भ मेनू से इतिहास देखें लेने। इतिहास विंडो जो दिखाई देनी चाहिए, वहां एक उप-टैब लेबल (नीचे हाइलाइट किया गया) होना चाहिए जो उस उप-फ़ोल्डर में लागू लेबल सूचीबद्ध करता है (लेकिन उस उप-फ़ोल्डर में विशिष्ट आइटम नहीं)।

enter image description here

+0

हाय, इस (मेरे द्वारा) केवल अपने workspsace के लिए बनाए गए लेबल दिखा रहा है, मैं कैसे अन्य उपयोगकर्ताओं के द्वारा बनाई गई अन्य लेबल देख सकते हैं? .. – ansar

+0

@ansar मैं TFS वर्तमान में उपयोग नहीं कर रहा हूँ तो मैं कर सकते हैं जांच नहीं है, लेकिन मुझे याद नहीं है कि यह टीएफएस के संस्करण में वर्कस्पेस द्वारा प्रतिबंधित किया जा रहा था; मैं निश्चित रूप से मुझे मिले लेबल नहीं बना रहा था। –

+0

@ansar [tinman का जवाब] के बारे में क्या है (http://stackoverflow.com/a/32891259/173497)? –

2

दृश्य स्टूडियो

  1. ओपन स्रोत नियंत्रण एक्सप्लोरर में लेबल लगाने के लिए।

  2. स्रोत नियंत्रण एक्सप्लोरर में, संग्रह, टीम प्रोजेक्ट, शाखा, फ़ोल्डर, या फ़ाइल है कि आप देख रहे हैं के लिए शॉर्टकट मेनू खोलें।

  3. करें इतिहास देखें। आपको सभी परिवर्तनों के साथ एक नई विंडो दिखाई देगी

  4. टैब मेनू के नीचे चित्र में उजागर रूप में

    करें लेबल

enter image description here

+0

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

2

मैं कमांड लाइन पर यह करने के लिए आज इसलिए यहाँ की जरूरत एक बैच फ़ाइल है कि उम्मीद है कि एक ही बात करता है (हम केवल अभी TFS का उपयोग शुरू कर दिया है और करने के लिए फ़ोल्डर पर लेबल सीमित है है ओपी की आवश्यकताओं का परीक्षण करें)।

आपको अपने पैरामीटर के अनुसार tf पर संग्रह पैरामीटर को संपादित करने की आवश्यकता होगी, और संभवत: आपके प्रमाणीकरण के तरीके के आधार पर लॉगिन विवरण प्रदान करना होगा।

@ECHO OFF 
SETLOCAL EnableDelayedExpansion 

@REM Check required parameters 
IF [%1]==[] GOTO :usage 

tf labels /owner:* /format:detailed %2 /collection:http://server:8080/tfs/collection > labels.txt 2> nul 

SET CURRENT_LABEL= 
FOR /F "tokens=1,2,3" %%G IN (labels.txt) DO (
    IF [%%G]==[Label] (
     SET CURRENT_LABEL=%%I 
    ) ELSE (
     IF /I [%%H]==[%1] (
      ECHO !CURRENT_LABEL! 
     ) 
    ) 
) 
DEL labels.txt 

GOTO :eof 
@REM Subroutines 

:usage 
echo tfs_labelsforfolder - Display all labels that are applied to a folder. 
echo. 
echo tfs_labelsforfolder ^<folder^> ^[label_filter^] 
echo. 
echo  folder  - The folder to show the labels for, e.g. $/Project/folder 
echo  label_filter - Search pattern to use in tf labels command. 
echo. 
GOTO :eof 
संबंधित मुद्दे

 संबंधित मुद्दे