«ترکیب یونیکد برای نامفایلها (2008)»
در یونیکد برخی حروف میتوانند به دو شکل NFC یا NFD ذخیره شوند. macOS مسیرها را به NFD تبدیل میکند در حالی که ویندوز هر دو شکل را میپذیرد. این اختلاف باعث میشود فایلها در مخزن بهدرستی شناسایی نشوند و خطاهای نسخهبندی رخ دهد. پیشنهاد شده که مسیرها بهصورت داخلی به NFC نرمال شوند یا توابع مقایسهٔ آگاه به NFC/NFD استفاده شوند.
چرا مهمه؟
تغییر اصلی تبدیل همهٔ مسیرهای ورودی به فرم NFC یا استفاده از توابع مقایسهٔ هوشمند است. این تغییر بر توسعهدهندگان Subversion، مدیران مخازن و کاربران نهایی که روی سیستمهای macOS و ویندوز کار میکنند تأثیر میگذارد. چون نامفایلهای یکسان ممکن است بهصورت متفاوتی ذخیره شوند، بدون این اصلاحات مخازن میتوانند فایلهای تکراری یا گمشده داشته باشند؛ پس فهم این مسئله برای حفظ صحت نسخهبندی ضروری است.
به درد کی میخوره؟
• توسعهدهندگان Subversion • مدیران مخازن کد منبع • تیمهای DevOps • کاربران پیشرفتهٔ macOS و ویندوز
تو عمل چی کار کنیم؟
پس از خواندن این خبر میتوانید بررسی کنید که آیا ابزارهای شما مسیرها را به NFC نرمال میکنند یا نه. اگر نه، میتوانید کتابخانهٔ utf8proc یا ICU را برای نرمالسازی اضافه کنید یا توابع مقایسهٔ سفارشی پیاده کنید تا از بروز خطاهای نسخهبندی جلوگیری شود.
نظر BlueIT News
پیشنهاد میشود پیش از ارتقاء به نسخهٔ ۲٫۰، پروژهها را با توابع مقایسهٔ NFC/NFD سازگار کنید؛ این کار ریسک ناسازگاری را در کوتاهمدت کاهش میدهد.