2012-08-23 22 views
8

मैं Microsoft.TeamFoundation.VersionControl.Client namespace से कक्षाओं का उपयोग करके प्रोग्रामिंग रूप से टीएफएस के साथ काम कर रहा हूं। मेरा लक्ष्य स्थानीय फ़ोल्डर से स्रोत नियंत्रण में फ़ाइलों को चेक-इन करना है। कुछ फाइलें एससी में पहले से मौजूद हो सकती हैं और संपादित की जानी चाहिए, कुछ नए हैं और इन्हें जोड़ा जाना चाहिए, कुछ एससी में मौजूद हैं और नहीं बदला है, इसलिए मुझे उनके साथ कुछ भी करने की ज़रूरत नहीं है।जांचें कि फ़ाइल पहले से ही स्रोत नियंत्रण में है

मेरी समस्या यह है कि मैं यह नहीं समझ सकता कि फ़ाइल को स्रोत नियंत्रण में पहले से मौजूद है या नहीं, इसलिए मैं अपने कोड में यह तय नहीं कर सकता कि मुझे इसे जोड़ना या संपादित करना चाहिए या नहीं। Workspace विधियों में से कोई भी मुझे जो चाहिए वह करने लगता है।

कोड रहा है:

foreach (string file in fileList) 
{ 
    workspace.PendEdit(file); 
    workspace.PendAdd(file); 
} 

यह काम करता है, लेकिन यह गूंगा लग रहा है और धीमी गति से लगता है। ऐसा करने का सही तरीका क्या है?

+0

यकीन है कि TFS के बारे में नहीं। लेकिन प्रत्येक scm में 'स्थिति' होती है जिसका उपयोग यह जांचने के लिए किया जा सकता है कि फ़ाइल रेपो में मौजूद है या नहीं –

उत्तर

10

मुझे 'सही' के बारे में पता नहीं है, लेकिन मेरे उपकरण में से एक में मैं VersionControlServer.ServerItemExists का उपयोग करने के लिए उपयोग कर रहा हूं ताकि आप जो भी कर सकें।

अपने मामले में आप कुछ इस तरह से जाँच करने के लिए होगा:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any) 
संबंधित मुद्दे