مشاكل مع WINSCP مع نمط نهاية الخط على Ubuntu Linux عند استخدام SVN Diff

StackOverflow https://stackoverflow.com/questions/1967361

سؤال

ملفاتي على خادم Ubuntu Linux عن بُعد. عندما أقوم بتنزيل الملفات وتحريرها إما في محرر النصوص WINSCP أو Notepad ++ ، يتغير نمط نهاية الخط إلى Windows. لذلك عندما أعيد إعادة بناء الملف إلى Ubuntu ، يتم إيقاف تشغيل الخطوط ويعتقد SVN Diff أن كل سطر قد تغير.

لمعلوماتك ، أقوم بتحرير الملف عن طريق النقر المزدوج على الملف في WINSCP. يطلق هذا البرنامج الملف في المحرر. في كل مرة أقوم بحفظها ، يتم نسخ الملف تلقائيًا إلى خادم Linux.

كيف يمكنني منع مشكلة نمط نهاية الخط؟

هل كانت مفيدة؟

المحلول 2

لم أتمكن من معرفة سبب وجود مشكلة في المساحة البيضاء ، لكنني تمكنت من معرفة كيفية تجاهل المساحات البيضاء.

يمكنك استخدام:

svn diff -x'-uw --ignore-eol-style'

هذا عمل بشكل جيد بما فيه الكفاية.

نصائح أخرى

يفعل هذا الموضوع مساعدة؟ أدق هذا الجزء:

من هذا ، يبدو لي أنك أجبرت WINSCP على استخدام نقل وضع النص ، مما يعني تحويل UNIX-> DOS. فقط فرض الوضع الثنائي لتجنب التحويل.

تحتاج إلى استخدام تنسيق خط UNIX. لتعيين هذا ، انتقل إلى الإعدادات> التفضيلات وحدد علامة التبويب "المستندات/الدليل الافتراضي الجديد". ابحث عن "تنسيق" في "عناصر التحكم" المستند الجديد وحدد "UNIX". سيضمن ذلك أن يكون لأي مستند جديد التنسيق الصحيح. لقد استخدمت هذا مع خادم Linux عن بُعد ولم أر مشكلة.

عادة ، سيتم إنشاء الملف الذي تم إرجاعه باسم مؤقت والتغييرات المكتوبة عليه. سيتم بعد ذلك إزالة الملف الأصلي وإعادة تسمية الملف الجديد ليحل محله. هذا من شأنه أن يجعل الملف الذي تم إرجاعه مستندًا "جديدًا" بحيث يجب أن يعطي إعداد التفضيل هذا التنسيق الصحيح.

يمكنني استخدام Notepand2 و WinSCP لتحرير الملفات على Windows و Server على Linux.

في حالتي ، كانت المشكلة مع اتصال WINSCP نفسه.

لقد نقرت على "تحرير" قبل الاتصال ثم "متقدم" كان هناك خيار للأحرف نهاية الخط. تغييرها حل المشكلة في حالتي.

الخيار على الشاشة هو بالفعل الذي نجح. كان هناك "LF" فقط.

enter image description here

يمكن إجراء الإصلاح البسيط والملائم لتلك المشكلة عن طريق الانتقال إلى تكوين المحرر الخارجي في WINSCP

في: View > Preferences > Editors

حدد المحرر الخارجي الخاص بك وانقر Edit ...

ثم ، فك: Force text transfer mode for files edited in external editor

إذا كنت تستخدم نقل وضع Text/ASCII مع WINSCP ، فسيقوم بتحويل النمط النهائي إلى UNIX عند التحميل.

لذلك أعتقد أن المشكلة قد تكون أن ملفك يحتوي بالفعل على نمط Windows نهاية الخط في البداية. عند التنزيل ، لا شيء يتغير ، ولكن عند التحميل ، يتم تحويله إلى نمط UNIX.

إما إصلاح الملف الخاص بك لاستخدام نمط UNIX كما ينبغي (إذا كان هذا هو الحال) أو استخدم وضع النقل الثنائي.

ليس فقط تحتاج إلى تكوين وضع النقل الثنائي لـ WINSCP بشكل عام (ما هو الافتراضي في الإصدارات الحديثة من WINSCP) ، ولكن تحتاج أيضًا إلى التأكد من أن خيار التفضيل وضع نقل نص القوة للملفات التي تم تحريرها في محرر خارجي لمحررك الخارجي (Notepad ++) خارج:
https://winscp.net/eng/docs/ui_editor_preferences

لاحظ أن هذا الخيار غير متوفر لمحرر WINSCP الداخلي. يتم نقل ملفاتها دائمًا في وضع النص/ASCII.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top