मैं PHP कोडसिंफर के साथ अपने रिमोट गिट भंडार में किए गए कोड को देखना चाहता हूं और यदि कोई समस्या कोड मानकों को अस्वीकार कर देता है तो इसे अस्वीकार कर दें। क्या किसी के पास गिट रिमोट रिपोजिटरी पर इसका उपयोग करने का उदाहरण है या उदाहरण के लिए प्री-प्राप्त हुक के साथ इसका उपयोग कैसे करें? धन्यवाद।गिट प्री-हुक प्राप्त करने के लिए हुक प्री-हिप प्राप्त करें PHP CodeSniffer
उत्तर
हो सकता है कि सही दिशा में इस बिंदु आप: (मूल से: http://www.squatlabs.de/versionierung/arbeiten-git-hooks जर्मन में)
#!/usr/bin/php
<?php
$output = array();
$rc = 0;
exec('git rev-parse --verify HEAD 2> /dev/null', $output, $rc);
if ($rc == 0) $against = 'HEAD';
else $against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904';
exec('git diff-index --cached --name-only '. $against, $output);
$needle = '/(\.php|\.module|\.install)$/';
$exit_status = 0;
foreach ($output as $file) {
if (!preg_match($needle, $file)) {
// only check php files
continue;
}
$lint_output = array();
$rc = 0;
exec('php -l '. escapeshellarg($file), $lint_output, $rc);
if ($rc == 0) {
continue;
}
# echo implode("\n", $lint_output), "\n";
$exit_status = 1;
}
exit($exit_status);
आप कार्यकारी लाइन कार्यकारी संपादित करने के लिए होगा ('php -l ... अपने codesniffer को इंगित करने के । स्थापना
मैं समाधान :)
पाया इससे इस बीमारी प्राप्त हुक के लिए अवधारणा कोड :) का सबूत है ठीक है:
#!/bin/bash
while read old_sha1 new_sha1 refname; do
echo "ns: " $new_sha1;
echo "os: " $old_sha1;
echo "----"
git ls-tree -r $new_sha1 | cut -f 3 -d ' ' | cut -f 1 | while read file; do
git cat-file blob $file
done;
echo "----"
done
exit 1
यह उदाहरण कोड केवल दूरस्थ भंडार द्वारा प्राप्त ब्लॉब्स प्रिंट करेगा, लेकिन किसी को ऐसा कुछ करने की आवश्यकता है (मुझे आशा है)।
आप कुछ अस्थायी फ़ाइल रन जो कुछ भी आप इस फाइल पर की जरूरत है फ़ाइल और इतने पर हटाना में हर ब्लॉब डाल सकते हैं ...
धन्यवाद, इससे बहुत मदद मिली –
यह मदद कर सकता है: http://github.com/s0enke/git-hooks/tree/master/phpcs-pre-commit/
यह एक पूर्व-प्रतिबद्ध हुक है, जो बहुत अलग है। –
मैं एक पूर्व प्राप्त Git हुक विकसित PHP, जावास्क्रिप्ट और सीएसएस फ़ाइलों के कोड स्टाइल की जांच करने के लिए PHPCodeSniffer पर आधारित है।
मेरे स्क्रिप्ट Github से उपलब्ध है: https://github.com/blueicefield/PHP_CodeSniffer_GIT_Hook
क्या आप अपना उत्तर किसी उदाहरण के साथ बढ़ा सकते हैं? ऊपर दिए गए उत्तर में बैश उदाहरण की तरह? तो यह अकेले उत्तर से कैसे उपयोग किया जाए? – hakre
- 1. गिट: पोस्ट-प्राप्त हुक
- 2. गिट, हेरोकू: पूर्व-प्राप्त हुक
- 3. गिट हुक और नई शाखाएं प्राप्त/अद्यतन
- 4. पोस्ट-प्राप्त हुक में पुशर की जानकारी कैसे प्राप्त करें?
- 5. गिट: डिफ पैच समेत ईमेल हुक पोस्ट-प्राप्त करें?
- 6. गिट हुक
- 7. हुक करने के लिए हुक या नहीं - गिट
- 8. गिट पोस्ट-प्राप्त हुक काम नहीं कर रहा
- 9. सेटयूड के साथ चलने वाला गिट 'पोस्ट-प्राप्त' हुक
- 10. गिट हुक वाक्यविन्यास चेक
- 11. गिट पोस्ट-प्राप्त हुक काम नहीं कर रहा
- 12. गिट: एचटीएमएल स्वरूपित रंग diff दिखाने के लिए ईमेल हुक पोस्ट प्राप्त करें?
- 13. गिट हुक का परीक्षण कैसे करें
- 14. PHP: अनुरोध प्राप्त निकाय प्राप्त करें
- 15. ऑफ़सेट प्राप्त करें सभी पंक्तियां प्राप्त करने के लिए अगला
- 16. उपयोगकर्ता ओयू प्राप्त करने के लिए PHP ldap_search() को कैसे प्राप्त करें यदि मुझे बेस डीएन
- 17. विलय विवादों के लिए गिट हुक
- 18. सिमलिंक का पालन करने के लिए गिट प्राप्त करना (दोबारा)
- 19. गिट पोस्ट-प्राप्त हुक कैसे रेपो का नाम प्राप्त कर सकता है यह चल रहा है?
- 20. जावा- शटडाउन हुक में काम करने के लिए लॉगर कैसे प्राप्त करें?
- 21. अवांछित फ़ाइलों को दिखाने के लिए गिट प्राप्त करें
- 22. गिट वैश्विक हुक अनुकूलन
- 23. PHP स्विच के बराबर मूल्य के लिए वैरिएबल प्राप्त करें
- 24. प्राप्त करें विधि और PHP
- 25. गिट प्री-पुश हुक
- 26. PHP: विधि के तर्क प्राप्त करें?
- 27. बुनियादी गिट हुक को समझना
- 28. क्वेरी स्ट्रिंग प्राप्त करने के लिए क्वेरी स्ट्रिंग PHP
- 29. गिट हुक पोस्ट-प्राप्त से विशिष्ट आरवीएम रत्न का उपयोग कर बंडल इंस्टॉल कैसे करें?
- 30. रेल्स जब आपके पास गिट पोस्ट-हुक प्राप्त होता है तो कैपिस्ट्रानो का उपयोग क्यों करें?
दुर्भाग्य से यह के साथ पहले से प्राप्त हुक :( – Ralphz
Nop, तो आपको काम नहीं करता है क्लाइंट की तरफ एक पूर्व प्रतिबद्ध बनाने के लिए है, लेकिन आप ट्रैक कर सकते हैं हुक ताकि प्रत्येक डेवलपर्स को हुक खींचना पड़ेगा। AFAIK, आप सर्वर दबाते समय सामग्री का परीक्षण नहीं कर सकते ... :( – FMaz008