2009-09-30 15 views
7

हमारा उत्पाद गेम जैसा है, और बाइनरी सहायक फाइलों - बनावट, मेष, फिल्में इत्यादि में बहुत समृद्ध (~ 40 एम - 100 एम) है Like kai1968, मैं इन संपत्तियों में सिंक करने में सक्षम होना चाहता हूं, न केवल कोड, एक क्लिक के साथ।क्या मुझे टीएफएस के तहत बाइनरी संपत्तियां रखना चाहिए? कैसे?

हालांकि, यह कड़ाई से बोल रहा है कि संस्करण नियंत्रण से अलग है: मुझे इन फ़ाइलों के अप्रासंगिक इतिहास के साथ हमारे टीएफएस को बोझ करने की कोई इच्छा नहीं है। क्या मैं किसी भी तरह से सामग्री को को टीएफएस में रखे बिना अपलोड कर सकता हूं? यह बेहतर होगा अगर मैं विशिष्ट बिंदुओं पर कहने का विकल्प चुन सकता हूं (कहें, लेबल पॉइंट), और प्रत्येक चेकइन में नहीं।

अधिक आम तौर पर, आप बाइनरी संपत्तियों के सिंक को कैसे प्रबंधित करते हैं?

(मैं शायद बेहतर इस तरह के कार्यों के लिए अनुकूल other tools के बारे में पता कर रहा हूँ,, लेकिन अपसारी - या पूरी तरह पलायन - से TFS एक विकल्प नहीं है अभी।)

उत्तर

5

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

  1. द्विआधारी फ़ाइलों की एक curent प्रतिलिपि
  2. नष्ट (इतिहास के साथ हटाना) TFS
  3. में द्विआधारी प्रतियां
  4. मैन्युअल रूप से जोड़ने जाओ फ़ाइलों को वापस TFS

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

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

कृपया जो भी आप कर रहे हैं उसे वापस पोस्ट करें - मुझे जानकर उत्सुकता है!

+0

मुझे डर था कि जवाब यह हो सकता है ... एक समाधान जो एक क्लिक नहीं है चेक-इन/प्राप्त-नवीनतम उद्देश्य को याद करेगा। हम नेटवर्क शेयर के माध्यम से अलग-अलग बाइनरी संपत्तियों को समन्वयित रखेंगे। धन्यवाद! –

+0

मैंने यह उत्तर पहले +1 दिया था और अभी भी समस्या नहीं दिखाई दे रही है। यह "एक क्लिक चेक-इन/प्राप्त-नवीनतम" से अलग कैसे है? जब आप डिस्क स्थान पर कम चलाते हैं, तो आपको केवल हर समय नष्ट करें और फिर, नष्ट करें। –

+0

ऐसा लगता है कि 2005 "नष्ट" का समर्थन नहीं करता है - जिसे 2008 में जोड़ा गया है, जिसकी मुझे पहुंच नहीं है, इसलिए किसी और को इसका परीक्षण करना होगा और भरना होगा, लेकिन मेरा संदेह यह है कि "नष्ट" एक तोड़ देगा निर्माण। यदि आपने कोई लेबल किया है, तो उस लेबल का एक हिस्सा था जो उस लेबल का हिस्सा था, फिर उसी नाम से दूसरी फ़ाइल में चेक किया गया, फिर लेबल प्राप्त करने का प्रयास किया, मुझे यकीन नहीं है कि क्या होगा - शायद टीएफएस को नई फाइल मिल जाएगी, शायद यह नष्ट फ़ाइल के बिना लेबल हो जाता है, शायद यह कहता है "लेबल नहीं मिल सकता"। किसी भी मामले में, यह सेट को ठीक उसी तरह पुन: उत्पन्न नहीं कर सकता जैसा आपने लेबल किया था, क्योंकि फ़ाइल समाप्त हो गई है। – SqlRyan

4

यहाँ कुछ विचार कर रहे हैं: ताकि आप एक ही परियोजना में बाइनरी और कोड मिश्रित नहीं होते

  • , एक अलग VSTS परियोजना उपयोग पर विचार करें। इससे इसे प्रबंधित करना थोड़ा आसान हो जाता है (उदा। आप संपत्तियों को अलग रख सकते हैं, और उससे संबंधित किसी भी कार्य आइटम को परियोजना पर फ़िल्टर करके अधिक आसानी से पूछताछ की जाती है)। नीचे की ओर, इसका मतलब नवीनतम होने के लिए 2 क्लिक होंगे।

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

  • यदि आप केवल डिस्क स्पेस उपयोग के बारे में चिंतित हैं, तो नहीं। 100 एमबी छोटा है, और हार्ड ड्राइव सस्ते हैं। मेरी आखिरी गेम प्रोजेक्ट में सैकड़ों गीगाबाइट संपत्तियां थीं और हमने 3 वर्षों से हर बदलाव का इतिहास रखा था।

  • संपत्ति कुछ भी धीमा नहीं होगी। यदि आप उन्हें चेक इन करते हैं या उन्हें प्राप्त करते हैं, तो वे केवल प्रक्रिया करने में समय लेते हैं, जो कि आप दोनों गतिविधियों को करने की आवश्यकता होगी, भले ही आप स्रोत नियंत्रण का उपयोग न करें। दरअसल, स्रोत नियंत्रण चीजों को तेज़ी से बनाता है क्योंकि आपके पास "एक क्लिक यह सब करता है" समाधान है।

  • स्रोत नियंत्रण के कई अन्य लाभ संपत्तियों पर वास्तव में उपयोगी हैं, और नकारात्मक रूप से नकारात्मक से अधिक हैं।

+0

अच्छे अंक। आप वास्तव में मुझे विश्वास दिलाया। मैं इसे काम पर कोशिश और बेच दूंगा। –

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