سؤال

وعندما تنفيذ الأمر التالي:

وsvnlook changed {path} -r {rev}

وحيث {المسار} هو المسار مستودع و {مراجعة} هو رقم المراجعة، وأحصل على الإخراج التالي:

وU trunk/this/is/a/path/Mon fichier avec un nom accentu,.txt

ويجب أن يكون الناتج في الواقع:

وU trunk/this/is/a/path/Mon fichier avec un nom accentué.txt

لا تظهر "E" وغيرها من الشخصيات حدته بشكل صحيح ...

هل هناك أي طريقة لsvnlook إلى أحرف الانتاج بشكل صحيح؟

وأعرف أنني أستطيع أن استخدام "سجل إس" مع خيار "--xml" للحصول على الترميز الصحيح، لكنني في حاجة الى ذلك لما قبل ارتكاب هوك، وsvn.exe يمكن فقط الحصول على المعلومات من المراجعات، وليس المعاملات .

والشكر

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

المحلول

والقضية لديك هنا هو أن يتم تشغيل الخاص بك قبل ارتكاب هوك من ثنائي التخريب، والتي لأسباب أمنية يمر بيئة فارغة إلى البرنامج النصي هوك. ومن بين الأشياء بيئة فارغة تفعله هو إزالة أي إعدادات لغة محددة، بالعودة لك النظام الافتراضي (عادة "C" أو شيئا من هذا القبيل).

لتحصل على إخراج الصحيح من svnlook، تحتاج إلى استعادة البيئة التي تهتم بها قبل تشغيله. إذا السيناريو الخاص بك هو باش، وربما شيء من هذا القبيل:

#!/bin/bash

export LANG="en_US.UTF-8"
export PATH="/bin:/usr/bin"

# Run svnlook here and get UTF-8 encoded output

في عام، أي لغة مع لاحقة '.UTF-8' ينبغي أن يكون على ما يرام. وبالنظر إلى أن يبدو انك تكون اللغة الفرنسية، ان "fr_FR.UTF-8 'لغة يكون إعداد معقول.

نصائح أخرى

ويجب عليك أن تحاول استدعاء هذا:

export LANG="fr_FR"

و(أو أي لغة المطور الخاص بك هو) قبل استخدام svnlook. يمكنك أيضا تعيين الافتراضي لانج في قذيفة ديك تبدأ البرامج النصية، لذلك لم يكن لديك لتصديره في كل مرة.

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