القراءة من STDIN على بوابة ما قبل ارتكاب هوك (مع PHP)

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

  •  21-08-2019
  •  | 
  •  

سؤال

وأنا أبحث عن وسيلة لديك git-commit انتظر الإدخال القياسي. أنا الترميز هذا في PHP، كما مهاراتي bash هي غير متوفرة، لذلك أنا thougth القيام العادية

<?php
$input = trim(fgets(STDIN));
fscanf(STDIN, "%d\n", $line);
?>

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

والفكرة وراء ذلك هو أنه بعد أن علامة الإفراج، وبوابة دفع HEAD إلى اختبار خادم، وإرسال اثنين من تويت، واسمحوا لي أن أكتب في بعض التفاصيل بشأن الافراج في التغيير.

وبينما أنا يمكن أن تحقق الكتابة إلى ملف (باستخدام exec('mate -w'))، أود أن تشبث حتى أفعل اختبار سريع على الخادم. هذا من شأنه أن تمكنني من التراجع إذا لاحظت أي أخطاء (كسول، وأنا أعلم).

وشكرا على اي مساعدة!

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

المحلول

ومعظم السنانير بوابة إما أن يكون شيئا تغذية خاص هناك ستدين، أو قد فصل ستدين من المحطة. وهي مصممة فقط ليتم تشغيلها غير تفاعلي، لذلك لا أعتقد أن ربط مناسب لما تريد القيام به. يمكنك، بالطبع، الحديث يدويا ل/dev/tty لكن لا أعتقد أنها فكرة جيدة للغاية.

وأنا أيضا لا نعتقد أن هوك "قبل ارتكاب" هو مناسب لمهمتك، وبالتأكيد ليس كل يرتكبون التي تجريها سوف يكون الافراج عن نوع؟ A هوك "بعد تلقي 'على الجهاز اختبار خادم يبدو أكثر ملاءمة.

نصائح أخرى

وأحتاج إدخال المستخدم في بلدي هوك بعد دمج (كتب في PHP).

وأنا حلها مع هذه القطعة من التعليمات البرمجية: trim(exec('exec < /dev/tty && read input && echo $input'))

لا تسأل، وأنها تعمل.)

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