2013-10-21 6 views
14

सीधे संबंधित: svn diff: file marked as binary type(टिप्पणी प्रति जवाब पर)SVN Diff: क्यों कुछ फ़ाइलों को चिह्नित कर रहे हैं के रूप में द्विआधारी

क्यों मेरी SVN ग्राहक निशान होगा कुछ फ़ाइलें बाइनरी के रूप में?

विशेष रूप से, .sql में TortoiseSVN का उपयोग करते समय प्रो svn:mime-type = application/octet-stream है।

मैं जाँच की राइट-क्लिक करें> कछुआ संदर्भ मेनू> सेटिंग> सामान्य> सबवर्सन विन्यास फाइल, और कुछ भी नहीं uncommented[miscellany] या [auto-props] में है, इसलिए जहां निर्णय से आ रही है?

संबंधित पोस्ट में मैं जो देख सकता हूं उससे, मैं या तो प्रभावित फ़ाइलों पर संपत्ति को हटाकर "इसे ठीक कर सकता हूं" या कॉन्फ़िगर/सेटिंग के माध्यम से नई फ़ाइलों पर व्यवहार को वैश्विक रूप से बदल सकता हूं, लेकिन क्या वहां एक "सरल" तरीका है सभी प्रभावित फाइलों के लिए दोनों करने के लिए?

कुछ हद तक संबंधित:

एक डेवलपर एक टेम्पलेट .sql फ़ाइल वह उपयोग कर रहा था बचा लिया:

+0

जीज़, और 'माइम-टाइप' प्रॉपर्टी को हटाकर (मान लीजिए कि यह 'टेक्स्ट/सादा' के लिए डिफ़ॉल्ट है) हर दूसरे चरित्र के 'एनयूएल' चरित्र कचरे का एक गुच्छा दिखाता है। क्या मेरा परिदृश्य अभी लागू नहीं है? TortoiseMerge दर्शक इसे ठीक से तुलना करता है ... – drzaus

+1

मुझे एक ही सटीक समस्या मिली है ... '.sql' फ़ाइलें 'एप्लिकेशन/ऑक्टेट-स्ट्रीम' के रूप में अपलोड हो रही हैं जब वे स्पष्ट रूप से 'टेक्स्ट/सादा' नहीं हैं, बिना 'ऑटो-प्रोप' सेट के। बहुत बुरा कोई भी जवाब नहीं दिया गया है :( – brazilianldsjaguar

उत्तर

14

ठीक है, मैं अपने विशेष मामले में मुद्दा मिल गया नई लिपियों के लिए। यह फ़ाइल, किसी भी तरह, UCS-2 (या Unicode) एन्कोडिंग के साथ सहेजी गई थी। जब भी उन्होंने फाइलें जोड़ दीं, तो TortoiseSVN ने निर्धारित किया कि यह एक बाइनरी फ़ाइल थी। एन्कोडिंग को UTF-8 पर स्विच करके, उस से निकाले गए टेम्पलेट और फ़ाइलों को text/plain के रूप में सही ढंग से जोड़ा गया है।

अतिरिक्त जानकारी (संपादित करें)

मैंने पाया क्या अपराधी हो सकता है। GUI का उपयोग करके कुछ स्क्रिप्ट उत्पन्न करते समय, SQL सर्वर प्रबंधन स्टूडियो उन्हें क्वेरी विंडो में Unicode के रूप में लिखता है। अगर फ़ाइल सहेजी गई है, तो इसे Unicode के रूप में भी सहेजा जाएगा। दिलचस्प बात यह है कि File>New के माध्यम से खोले गए फाइलें इस तरह से सहेजते नहीं हैं। माइक्रोसॉफ्ट के साथ 2007 में इस मुद्दे के बारे में एक मुद्दा उठाया गया था (here मिला), जो स्पष्ट रूप से हल नहीं हुआ है।

notepad %APPDATA%\Subversion\config 

करने के लिए नीचे स्क्रॉल करें और इस लाइन uncomment:

+0

अच्छी तरह से यह ट्रैक करने के लिए दर्द होने जा रहा है ... लेकिन एक शॉट के लायक – drzaus

+0

मैं इसे 'नोटपैड ++' के कारण स्पॉट करने में सक्षम था, जिसमें एक अच्छा 'एन्कोडिंग है ... 'मेनू जो आपको वर्तमान और एन्कोडिंग बदलने की अनुमति देता है। – brazilianldsjaguar

+0

हाँ, नोटपैड ++ प्रति फ़ाइल को ठीक करना आसान बनाता है, लेकिन यदि आपके पास कई फाइलें हैं तो यह एक [बैच स्क्रिप्ट] (http://www.msfn.org/ बोर्ड/विषय/158633-कैसे-से-चेक-टेक्स्ट-फ़ाइल-एन्कोडिंग-से-कमांड-लाइन /) (या [यह] (http://stackoverflow.com/questions/18684793/powershell-batch-change-files -नकोडिंग-टू-यूटीएफ -8)) आवश्यक होगा। – drzaus

6

यहाँ एक त्वरित तरीका है इस समस्या को दूर करने के लिए

*.sql = svn:mime-type=text/plain 
:

enable-auto-props = yes 

के तहत [ऑटो रंगमंच की सामग्री] इस पंक्ति जोड़ें

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

संपादित करें: अनावश्यक रेखा को समाप्त करने वाली फ़ाइल परिवर्तन को हटा दिया गया।

+0

दिलचस्प। मैंने वही किया था, केवल अंतर था मेरे ऑटो-प्रोप पर '* .sql = svn: mime-type = application/x-sql' पर सेट किया गया था (निश्चित रूप से क्यों नहीं)। इसे आपके सुझाव में बदलकर यह दिखाया गया कि जब मैं काम करना चाहता था। लेकिन मैं इंगित करता हूं कि 'svn: eol-style = native' आवश्यक नहीं है, और यह वास्तव में डिस्क पर फ़ाइल को बदल रहा है। – drzaus

+0

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

+2

मौजूदा फ़ाइलों को चेक आउट करना होगा, उनकी गुणों को बदलना होगा, और फिर से जांचना होगा। लेकिन यह वास्तव में एक अलग सवाल है। – user95209

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