में किसी फ़ोल्डर की सभी सामग्रियों को सूचीबद्ध करना tfs में फ़ोल्डर के किसी विशेष पथ को देखते हुए, मुझे किसी दिए गए परिवर्तन के लिए फ़ोल्डर के भीतर सभी फ़ाइलों और फ़ोल्डर्स को रिकर्सिवली रूप से ढूंढना होगा। दूसरे शब्दों में, मुझे किसी दिए गए परिवर्तन के लिए tfs में पथ के संक्रमणीय बंद होने की आवश्यकता है। ऐसा करने में मुझे जिस समस्या का सामना करना पड़ रहा है वह tfs के भीतर किसी विशेष फ़ोल्डर की सामग्री सूचीबद्ध कर रहा है .. सी # में यह कैसे संभव होगा?tfs
tfs
उत्तर
मैं आप चाहते हैं 'changeset एक्स के रूप में फ़ोल्डर की सामग्री' यह सोचते हैं रहा हूँ और नहीं 'फ़ोल्डर सामग्री कि changeset एक्स का हिस्सा थे'
GetIte एमएस सही कॉल उपयोग करने के लिए है, बस changeset आप में रुचि रखते हैं के लिए एक संस्करण कल्पना में पारित
http://msdn.microsoft.com/en-US/library/bb138911.aspx
हां, तो यह सोचते हैं आप पहले से ही VersionControlServer उदाहरण के लिए एक संदर्भ है:।
var myFolderAtChangeset17 = versionControlServer.GetItems("$/MyFolder", new ChangesetVersionSpec(17), RecursionType.Full);
यदि मुझे गलत समझा जाता है और आप 'फ़ोल्डर सामग्री को बदलना चाहते हैं जो कि परिवर्तनशील एक्स का हिस्सा थे', तो ऐसा करने के कुछ अलग तरीके हैं, लेकिन GetChangeset के साथ परिवर्तन प्राप्त करना और केवल Changes फ़िल्टर करना बहुत आसान है।
आप एक एक्सएमएल दस्तावेज प्राप्त करने के लिए चेंजसेट webservice का उपयोग कर सकते हैं जिसमें किसी विशेष परिवर्तन के लिए सभी बदले गए आइटम शामिल हैं। फिर बस बदले गए आइटमों की सूची के माध्यम से लूप करें और देखें कि वे उस पथ में हैं या नहीं, जिसे आप ढूंढ रहे हैं।
: http: // your_tfs_server
/VersionControl/Changeset.aspx?artifactMoniker= your_changeset_number
& WebView = सच
क्या मैं सिर्फ वर्जनकंट्रोलसेवर.getItems() और लूप थ्रो व्युत्पन्न सरणी कर सकता हूं। मैं बस इसे अभी कोशिश कर रहा हूं ... – Sidd
डाउनवॉटेड (माफ करना डेविड)। आपको किसी भी (सामान्य) परिस्थितियों में ऐसा करने के लिए webservice का उपयोग नहीं करना चाहिए। ये आंतरिक हैं और बिना किसी सूचना के बदल सकते हैं। – Robaticus
कुछ इस तरह किया जा अधिक क्या आप देख रहे हैं हो सकता है
यहाँ changeset वेब सेवा के लिए URL है के लिये। यह एक परिवर्तन में सभी परिवर्तन हो जाता है और उनके द्वारा पुनरावृत्त होता है, दिए गए पथ में लोगों की पहचान करता है। यह एक LINQ क्वेरी के साथ छोटा किया जा सकता है, लेकिन मैं इसे जा रहा हूँ थोड़ा और मैं क्या कहने की कोशिश कर रहा हूँ का सार देने के लिए विस्तार किया:
TeamFoundationServer tfs = new TeamFoundationServer("http://tfs:8080");
VersionControlServer vcs = tfs.GetService<VersionControlServer>();
Changeset cs = vcs.GetChangeset(6284868);
foreach (Change change in cs.Changes)
{
if (change.Item.ServerItem.StartsWith("$/Application Common/Dev/src"))
{
System.Diagnostics.Debug.WriteLine(string.Format("Changeset {0}, file {1}, changes {2}",
cs.ChangesetId, change.Item.ServerItem, change.ChangeType.ToString()));
}
}
मुझे लगता है कि कुछ इस तरह काम करेगा ..
TeamFoundationServer tfs = new TeamFoundationServer("http://tfs:8080");
VersionControlServer vcs = tfs.GetService();
ItemSet items;
items = vcs.GetItems(tfsPath, RecursionType.Full);
आप किसी भी अन्य विचारों है, तो हें ..
आप कोड उस भाग को याद कर रहे हैं जहां आप GetItems –
- 1. TFS: TFS
- 2. tfs
- 3. TFS
- 4. TFS
- 5. TFS
- 6. TFS
- 7. tfs
- 8. TFS से सभी फ़ोल्डर TFS एसडीके
- 9. NuGet और TFS TFS में सर्वोत्तम प्रथाओं
- 10. TFS Buildnumber
- 11. मैं TFS
- 12. मैं TFS
- 13. TFS 2012
- 14. TFS बादल
- 15. Mercurial से TFS
- 16. TFS 2012 बकाया प्राथमिकता
- 17. क्या TFS 2010
- 18. .csproj.user समस्याएं जब TFS
- 19. एक TFS changeset संख्या
- 20. TFS शाखा अनुमतियां
- 21. सभी देखें TFS
- 22. दृश्य स्टूडियो को रोकें TFS
- 23. TFS रोलबैक - TF246021: आपके अनुरोध
- 24. tfs डेटाबेस आकार - संस्करण नियंत्रण
- 25. कैसे दो changesets केवल (TFS)
- 26. git-tfs: मैं एक tfs प्रोजेक्ट को क्लोन कैसे करूं जिसमें रिक्त स्थान
- 27. कनेक्ट दृश्य स्टूडियो 2010 व्यावसायिक TFS
- 28. TFS निष्पादित एक काम मद संक्रमण
- 29. कोई सर्वर TFS BuildNotification.exe में सूचीबद्ध
- 30. NANT या TFS बिल्ड जो बेहतर है?
पर जाने के लिए tfsPath को परिभाषित करते हैं, मुझे संस्करण spec के बारे में पता नहीं था। मुझे यही चाहिए था। धन्यवाद... – Sidd