2011-12-30 2 views
7

को खत्म नहीं कर सकता है किसी भी तरह, फ़ोल्डर नामकरण और अन्य स्रोत स्रोत परिवर्तनों के कारण, मुझे परेशान समस्या हो रही है। मैं एक फ़ाइल के लिए लंबित परिवर्तन दिखा रहा हूं जिसे टीएफएस में पूर्ववत नहीं किया जा सकता है।प्रेत लंबित टीएफएस परिवर्तन

यह पूरी तरह से समझाने के लिए थोड़ा मुश्किल है। यहाँ निर्देशिका/फ़ाइल संरचना TFS में ऐसा दिखाई देता है:

 
RootFolder 
    Folder 
     FileA 
     FileB 
    OldFolderThatWasRenamedToFolder (shows add icon) 
     FileA (shows "edit" pending change) 

"OldFolderThatWasRenamedToFolder" "फ़ोल्डर" नाम दिया गया था और इस तरह TFS के लिए प्रतिबद्ध है। उस गैर-मौजूदा फ़ोल्डर के तहत "फ़ाइलए" एक ही फ़ाइल को "फ़ोल्डर/फ़ाइल ए" के रूप में संदर्भित करता है लेकिन एक अलग फ़ाइल के रूप में पंजीकृत करता है; उदाहरण के लिए, यदि मैं "फ़ोल्डर/फ़ाइल ए" बदलता हूं, तो लंबित परिवर्तन दोनों "फ़ाइलों" के लिए दिखाए जाते हैं।

No pending changes were found for .../Folder/FileA.

मैं इस कष्टप्रद झूठी लंबित परिवर्तन से छुटकारा पाने के लिए नहीं कर सकते हैं: जब भी मैं प्रेत फ़ाइल के लिए लंबित परिवर्तनों को पूर्ववत, TFS त्रुटि की रिपोर्ट। मैंने एक ओवरराइट फोर्सिंग फ़ोल्डर में अपडेट किया है और अपडेट से पहले फ़ोल्डर को भी हटा दिया है। मैं इस प्रेत लंबित परिवर्तन को कैसे खत्म कर सकता हूं?

अद्यतन:

मैं एक संभावित सुराग मिल गया। जब मैं नवीनतम के साथ "लंबित" फ़ाइल की तुलना करता हूं, तो कोई भी परिवर्तन नहीं पता चला है, लेकिन "वर्कस्पेस संस्करण" की तुलना करते समय, फ़ाइल की फ़ाइल के पुराने संस्करण से तुलना की जाती है। मैंने हाल ही में अपने कार्यक्षेत्र को हटाने और एक नया निर्माण करने का प्रयास किया है, लेकिन एक ही समस्या बनी हुई है। वास्तव में क्या चल रहा है? ये लंबित परिवर्तन कहां से संग्रहीत हैं? क्या कोई फ़ाइल है जिसे मैं मैन्युअल रूप से संपादित कर सकता हूं?

उत्तर

2

मैंने tf.exe कमांड लाइन का उपयोग करके इसे ठीक करने का एक तरीका निकाला। इसे दर्ज करके:

tf undo /workspace:MyWorkspace $/.../RootFolder/OldFolderThatWasRenamedToFolder/FileA 

... मैं लंबित परिवर्तन को पूर्ववत करने में सक्षम था। यदि कोई जानता है कि बिना कमांड लाइन का सहारा लेते हैं, तो मैं इसके जवाब को स्वीकार करूंगा।

+6

मुझे डेवलपर कंसोल, सीडी को मेरी शाखा की निर्देशिका में खोलने और चलाने के लिए बहुत आसान लगता है: 'tf undo */recursive'। –

+0

इस आदेश ने मुझे मदद की। मेरे मामले में मुझे विजुअल स्टूडियो को अन्य बुद्धिमानी के रूप में बंद करने की आवश्यकता थी, फ़ाइल को तुरंत संपादित के रूप में चिह्नित किया जाएगा। – Jeff

4

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

इसके अलावा, उपकरण अन्य उपयोगकर्ताओं के लिए ऐसा करने की अनुमति देगा। इसका अर्थ यह है कि यह उन स्थितियों को हल करेगा जहां कोड को उपयोगकर्ता द्वारा चेक आउट के रूप में चिह्नित किया गया है जो अब सिस्टम में मौजूद नहीं हो सकता है।

डाउनलोड यह http://www.attrice.info/cm/tfs/index.htm

आशा में इस मदद करता है।

+0

लिंक के लिए धन्यवाद। – Jacob

+0

कूल। अच्छे स्वास्थ्य में इसका इस्तेमाल करें! :) –

-4

मैं अभी भी VS2010 करने के लिए नया हूँ, लेकिन यह मैं कैसे मेरे लिए यह समस्या ठीक है:

जाओ टीम एक्सप्लोरर पैनल में स्रोत को नियंत्रित करना। स्रोत नियंत्रण एक्सप्लोरर में, निर्देशिका, प्रोजेक्ट, या स्रोत कोड फ़ाइल पर राइट-क्लिक करें जिसके लिए अनदेखा किए गए लंबित परिवर्तन हैं। लंबित परिवर्तन पूर्ववत करें का चयन करें। एक मॉडल संवाद लंबित परिवर्तनों की पुष्टि करता है जो पूर्ववत हो जाएंगे। पूर्ववत परिवर्तन, और voila का चयन करें! कोई और प्रेत लंबित परिवर्तन नहीं।

7

विजुअल स्टूडियो 2010 में, आप "लंबित परिवर्तन" पैनल पर प्रेत लंबित चेक-इन पर राइट-क्लिक कर सकते हैं और "पूर्ववत करें" पर क्लिक कर सकते हैं ..."पॉपअप मेनू पर, फिर" लंबित परिवर्तन पूर्ववत करें "संवाद बॉक्स पर" पूर्ववत परिवर्तन "बटन पर क्लिक करें, प्रेत लंबित चेक-इन सूची से हटा दिया जाएगा।

+1

मुझे आश्चर्य है कि यह स्वीकार्य और सबसे ऊपर जवाब क्यों नहीं है। पोस्ट करने का शुक्रिया! – Saturnix

+1

यह लंबित परिवर्तन सूची में सूचीबद्ध नहीं है और पूर्ववत मेनू विकल्प गहरा हुआ है क्योंकि इसमें कोई वास्तविक परिवर्तन नहीं है लेकिन टीएफएस अभी भी सोचता है कि यह इस मामले में "बग" है। –

+0

यह मेरे लिए काम करता था जब मैं एएक्स – Chizzle

1

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं बस उस मुद्दे का सामना करना पड़ा और मैं इसे साइडकिक्स या टीएफ कमांड लाइन टूल के साथ समझने में सक्षम नहीं था। मेरे मामले में समाधान समाधान बंद कर दिया गया था और .suo फ़ाइल को हटा दिया गया था।

2

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मैं एक ही बात expierenced

क्या मैंने पाया:।।। जॉन Kurlak के कमांड लाइन मेरे लिए काम किया मैं कुछ करने की कोशिश करना चाहता था इसलिए मैं TF मर्ज फिर से भाग इस बार मैं सभी दृश्य स्टूडियो खुला बंद कर दिया और फिर इसे फिर से खोल दिया। फाइलें लंबित परिवर्तनों में दिखाई गईं और वहां से पूर्ववत करने में सक्षम थीं।

0

जॉन कुर्लाक की टिप्पणी ने मुझे बहुत मदद की, लेकिन मुझे बताएं कि मेरे मामले में क्या समस्या आई और मैंने इसे कैसे हल किया।

मैं कोशिश की है कि वह क्या सुझाव दिया:

मैं डेवलपर कंसोल खोला, अपनी शाखा की निर्देशिका में एक cd किया था, और भाग गया:

tf undo * /recursive 

फिर चयनित "सभी" जब उपकरण ने पूछा "अपने परिवर्तन पूर्ववत करें ...? (हां/नहीं/सभी)"।

मेरे मामले में यह पर्याप्त नहीं था, क्योंकि NUGET ने कुछ फ़ाइलों को छोड़ दिया जो टीएफएस में नहीं जोड़े गए थे। यही कारण है कि त्रुटि के साथ निरस्त करने के लिए tf उपकरण की वजह से:

TF400024: The change on C:(SomePath)\themes\base\images\ui-icons_cd0a0a_256x240.png cannot be undone because a file already exists at C:(SomePath)\themes\base\images\ui-icons_cd0a0a_256x240.png. The file must be deleted from disk for the undo to succeed.

इस मामले में, मैं उन फ़ाइलों को मैन्युअल रूप से उल्लेख किया हटाने के लिए, और फिर पुन: प्रयास जब तक यह सफल रहा था। इसे कुछ बार किया जाना था।

नोट: उन फ़ाइलों फ़ाइल एक्सप्लोरर में आसान पाया जा सकता है यदि आप TFS बिजली उपकरण स्थापित किया है, क्योंकि TFS से संबंधित फाइलों को उनके आइकन, अन्य filies में एक हरे रंग त्रिकोण (जिनकी आपको आवश्यकता है हटाने के लिए) नहीं।

+0

के लंबित परिवर्तन मोडल में चेकआउट पूर्ववत करने में असमर्थ था क्या आपको कभी इस समस्या का समाधान मिला? –

+0

दुर्भाग्य से नहीं।Nuget अद्यतन संकुल, लेकिन यह सही नहीं करता है - कभी-कभी यह Nuget को संकुल अद्यतन करने से पहले सबकुछ जांचने में मदद करता है - लेकिन कभी-कभी नहीं (विशेष रूप से यदि अपडेट विफल हो जाता है)। यह सलाह दी जाती है कि नूजेट को एक समय में केवल एक पैकेज अपडेट करें, इसका परीक्षण करें, अगर सफल हो तो इसे जांचें या पूर्ववत करें। एकाधिक पैकेज अपडेट करना एक अच्छा विचार नहीं है क्योंकि यह उन निर्देशिकाओं में बहुत सारी गड़बड़ी छोड़ सकता है जो टीएफएस बाद में संभाल नहीं सकता है। – Matt

0

मुझे एक ऐसी परियोजना के साथ एक ही समस्या थी जो एएक्स संस्करण नियंत्रण/लंबित वस्तुओं में "जोड़ें" कार्रवाई के साथ फंस गया है। मैं "पूर्ववत चेकआउट" पर क्लिक करके इसे छुटकारा नहीं पाया क्योंकि यह अब एएक्स परियोजनाओं, स्थानीय भंडार, और न ही VSTS में मौजूद है। इससे छुटकारा पाने के लिए, मैंने एएक्स/परियोजनाओं/साझा में प्रोजेक्ट बनाया है, फिर एएक्स संस्करण नियंत्रण/लंबित ऑब्जेक्ट्स पर जाकर इसे छुटकारा पाने में सक्षम था और "पूर्ववत चेकआउट" पर क्लिक किया गया था। मेरा मानना ​​है कि यह तब होता है जब आप AX में कोई ऑब्जेक्ट बनाते हैं, इसे संस्करण नियंत्रण में जोड़ें, फिर ऑब्जेक्ट का नाम बदलें। उम्मीद है की यह मदद करेगा।