سؤال

لدي ملف دفعي أجرى من محطة عمل Windows XP W / Service Pack 3 التي تنطبق على تغييرات SQL إلى قاعدة بيانات باستخدام SQLCMD.EXE في SQL 2005.

لدي إدخال سطر الأوامر السلاحف لتحديث النسخة المحلية تلقائيا من مستودع الخاص بي مثل ذلك:

tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3

بالنسبة الى وثائق, ، ال / equonend: 3 سيغادر الخيار مربع الحوار TortoisesVN مفتوحا إذا حدث أي أخطاء أو تعارضات أو دمج أثناء التحديث.

في حالة حدوث هذا، ويغلق المستخدم الحوار دون حل المشكلات، فمن المحتمل أن يحتفظوا بالتغييرات التي نريد تطبيقها على قاعدة بيانات اختبار فرع معين.

عند إغلاق مربع الحوار TortoisesVN في حالة وجود خطأ أو تعزز أو دمج بعد تحديث، سوف errorlevel. يتم تعيين إلى بعض غير صفرية القيمة، مما يتيح لي عن تجاوز بقية ملف الدفعات؟ أو هل سيعود بسعادة 0 للإشارة إلى أنها قامت بعملها بنجاح حتى لو لم يكن الكود صحيحا تماما؟

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

المحلول 2

انتهى بي الأمر فقط بتحديث مستودع SVN المحلي يدويا قبل إجراء الإجراءات الأخرى في ملف الدفعات.

نصائح أخرى

السؤال القديم، لكنني واجهت نفس الشيء اليوم وهناك حل ...

عودة TortoiseProc -1 بشأن الخطأ و 0 عند النجاح، وبالتالي فإن ما يلي حل المشكلة بالنسبة لي:

TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError

:SvnSuccess
echo It worked!
goto Done

:SvnError
echo It didn't work!

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