2009-02-27 14 views
11

क्या एसवीएन को असंवेदनशील होने के लिए मजबूर करने का कोई तरीका है? हमारे पास एक समस्या है जहां उपयोगकर्ता लिनक्स पर्यावरण से फाइल करता है जिसमें फाइलें "file.ext" और "File.ext" कहती हैं। बस ठीक काम करता है। समस्या यह है कि, जब मैक ओएसएक्स या विंडोज पर कोई उपयोगकर्ता अद्यतन/चेकआउट का प्रयास करता है। दो फाइलों को समान माना जाता है और कार्रवाई त्रुटि में विफल हो जाती है।क्या एसवीएन हैंडल संवेदनशीलता के मुद्दों को संभाल सकता है?

क्या एसवीएन पहले स्थान पर "File.ext" और "file.ext" को करने से रोकने का कोई तरीका है?

This question समान है लेकिन विंडोज पक्ष से एक ही समस्या को देखता है, जो यहां मुद्दा नहीं है।

+0

ऐसा लगता है कि एक ही निर्देशिका में दो फाइलें होने के कारण केवल मामले में भिन्नता भ्रम पैदा करने के लिए बाध्य है। क्या उपयोगकर्ताओं को यह नहीं करने के लिए कहा जा सकता है? मामले को अनदेखा करने के लिए उपversण को मजबूर करने पर –

+0

+1 - आपको वैसे भी फाइलों को अलग-अलग नहीं करना चाहिए। –

उत्तर

11

आप this one जैसे पूर्व-प्रतिबद्ध हुक को आजमा सकते हैं (हालांकि इसे स्वयं नहीं किया है)।

मुझे लगता है कि आपके उपयोगकर्ताओं को इसके लिए बाहर निकलने से पहले ही इनकार कर दिया गया है? मैं हर समय लिनक्स पर काम करता हूं, लेकिन आम तौर पर फाइलनाम केस-असंवेदनशील मानता हूं, i। ई। मुझे पर, वे वही हैं, चाहे ओएस क्या सोचता हो।

+0

आह, धन्यवाद। हाँ, हम सावधान रह रहे हैं, लेकिन इसे रोकने के लिए कोई उपाय निश्चित रूप से एक प्लस होगा। – ccook

+1

प्रतिबद्ध हुक का उपयोग करने के लिए +1 – abe

0

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

इसके अलावा, कुछ भाषा संकलकों पर विचार करें जो केस संवेदनशीलता पर निर्भर करते हैं, जावा कंपाइलर फ़ाइल नामों के बारे में शिकायत करेगा, क्योंकि मुझे यकीन है कि अन्य भाषाएं होंगी।

एक और मुद्दा, तैनाती है, यदि आप * एनआईक्स सिस्टम पर तैनात हैं तो क्या होगा। फिर आप परेशानी में!

+1

समस्या यह है कि मैक या विंडोज मशीनों के लिए केवल काम नहीं करने पर दो फाइलें अलग-अलग होती हैं। मुझे लगता है कि आप अधिक आवेदन (एफ 0 9) का जिक्र कर रहे हैं? मैं मानता हूं कि नाम उचित मामले से संदर्भित किया जाना चाहिए। – ccook

0

मुझे लगता है कि तकनीकी समस्या वास्तव में मैक & विंडोज पक्ष पर है, अर्थात् उनकी फ़ाइल सिस्टम केस-संवेदी नहीं हैं। कम से कम मैक पर, आप फ़ाइल सिस्टम को एचएफएस + के रूप में फिर से प्रारूपित कर सकते हैं केस-सेंसिटीविटी चालू है। मैं विंडोज़ उपयोगकर्ता नहीं हूं लेकिन विंडोज़ मूल फ़ाइल सिस्टम में एक समान विकल्प हो सकता है (क्या यह अभी भी एनटीएफएस है?)।

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

+0

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

+4

मुझे यकीन नहीं है कि यह वास्तव में एक तकनीकी समस्या है, मुझे लगता है कि यह एक विशेषता है (और मैं एक लिनक्स उपयोगकर्ता हूं)। मनुष्यों के लिए, ऊपरी या निचले मामले में एक ही शब्द का अर्थ समान होता है, और आपके ओएस को यह समझना चाहिए। –

2

सबवर्जन 1.7 अब विंडोज पर case only renames को संभालने के लिए प्रतीत होता है।

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