आदमी 00:30 बजे "गिम्मे गिम्मे गिम्मे" क्यों छापता है?


1625

हमने देखा है कि हमारे कुछ स्वचालित परीक्षण विफल हो जाते हैं, जब वे 00:30 पर चलते हैं, लेकिन बाकी दिन ठीक काम करते हैं। वे stderr में "gimme gimme gimme" संदेश के साथ विफल होते हैं, जिसकी उम्मीद नहीं थी। हमें यह आउटपुट क्यों मिल रहा है?



54
मुझे नहीं मिला। आपकी टेस्ट स्क्रिप्ट आदमी को क्यों बुलाती है जहाँ उसे असफल होना चाहिए?
जोशुआ

19
@ जोशुआ क्योंकि हम "मैनपाट" चाहते थे - 'मैन-डब्ल्यू'। उत्तर देखें।
जारोस्लाव कुचेरा

67
इतिहास की खातिर, आपको हर मिनट 'मैन-डब्ल्यू' करने की आवश्यकता क्यों है? आप वास्तव में क्या परीक्षण कर रहे हैं?
ओलिवियर दुलैक

22
@OlivierDulac यह सिर्फ एक बार परीक्षण में शुरू हो रहा है। हमने परीक्षणों के क्रम को फिर से जोड़ दिया है और अचानक यह त्रुटि हुई क्योंकि यह 00:30 बजे शुरू हुआ था ...
जारोस्लाव

जवाबों:


2146

प्रिय @colmmacuait , मुझे लगता है कि अगर आप 0001 घंटे पर "आदमी" टाइप करते हैं, तो उसे " gimme gimme gimme " प्रिंट करना चाहिए। #abba @marnanel - 3 नवंबर 2011

एर, यह मेरी गलती थी, मैंने इसे सुझाया। माफ़ करना।

बहुत कुछ पूरी कहानी में है। मनुष्य का अनुचर मेरा एक अच्छा दोस्त है, और एक दिन छह साल पहले मैंने उससे मजाक में कहा था कि यदि आप आधी रात के बाद आदमी को बुलाते हैं तो उसे " गिम्मे गिम्मे गिम्मे " को प्रिंट करना चाहिए , क्योंकि अब्बा के गीत के कारण " गिम्मे गिम्मे गिम्मे एक आदमी" आधी रात के बाद ":

खैर, उन्होंने वास्तव में इसे रखा था । कुछ लोग इसे खोजने के लिए चकित थे, और हम ज्यादातर आज तक इसके बारे में भूल गए।

मैं स्पष्ट रूप से कर्नल के लिए बात नहीं कर सकता , लेकिन मैंने कभी भी किसी भी समस्या का कारण बनने की उम्मीद नहीं की: किसी भी पृष्ठ के बिना आदमी के उत्पादन को पार्स करने पर किस तरह का परीक्षण टूट जाएगा? मुझे लगता है कि मुझे आश्चर्य नहीं होना चाहिए कि एक अंततः बदल गया, लेकिन इसमें छह साल लग गए।

( प्रतिबद्ध संदेश मुझे थॉमस कहता है, जो मेरा कानूनी पहला नाम है, हालांकि मैं इसका ऑनलाइन उपयोग नहीं करता हूं।)

इस मुद्दे को प्रतिबद्ध 84bde8 के साथ तय किया गया है : साथ चल रहा आदमी man -wअब इस ईस्टर अंडे को ट्रिगर नहीं करेगा।


361
ऊप्स! यह गैर-त्रुटि मामलों को प्रभावित करने के लिए कभी नहीं था। जब मैंने git.savannah.gnu.org/cgit/man-db.git/commit/… को लागू किया तो मैंने इस पर ध्यान नहीं दिया । मास्टर में नियत: git.savannah.gnu.org/cgit/man-db.git/commit/…
कॉलिन वॉटसन

3
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
terdon

13
टिप्पणियां स्पष्टीकरण के लिए पूछ रही हैं और / या किसी उत्तर के तकनीकी बिंदुओं पर चर्चा कर रही हैं । यदि आप ईस्टर अंडे के गुणों पर चर्चा करना चाहते हैं, तो कृपया इसे चैट पर ले जाएं
terdon

8
मम्मा मिया, अब मुझे सचमुच पता है!
एनरिको मारिया डे एंजेलिस

3
शायद आदमी को एक महत्वपूर्ण पैरामीटर की जरूरत है
पैट्रिक टेलर

423

यह एक ईस्टर अंडे में है man। जब आप manपृष्ठ को निर्दिष्ट किए बिना या उसके साथ चलते हैं -w, तो यह "gimme gimme gimme" stderr को आउटपुट करता है, लेकिन केवल 00:30 पर:

# date +%T -s "00:30:00"
00:30:00
# man -w
gimme gimme gimme
/usr/local/share/man:/usr/share/man:/usr/man

निकास कोड हमेशा 0 होता है।

सही आउटपुट हमेशा होना चाहिए:

# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1

स्ट्रिंग "जिम्मी गिम्मे गिम्मे" आरएचईएल, ओपनएसयूएसई, फेडोरा, डेबियन और शायद अधिक में पाया जा सकता है, इसलिए यह वास्तव में विशिष्ट विशिष्ट नहीं है। आप grepअपने manबाइनरी को सत्यापित करने के लिए कर सकते हैं।

यह कोड आउटपुट के लिए जिम्मेदार है , जो इस कमिट द्वारा जोड़ा गया है :

src/man.c-1167- if (first_arg == argc) {
src/man.c-1168-   /* 
http://twitter.com/#!/marnanel/status/132280557190119424 */
src/man.c-1169-   time_t now = time (NULL);
src/man.c-1170-   struct tm *localnow = localtime (&now);
src/man.c-1171-   if (localnow &&
src/man.c-1172-       localnow->tm_hour == 0 && localnow->tm_min == 30)
src/man.c:1173:     fprintf (stderr, "gimme gimme gimme\n");

मैंने इस मुद्दे के बारे में आरएचईएल समर्थन से संपर्क किया है।

स्ट्रिंग प्रसिद्ध एबीबीए गीत गिम्मे से आता है ! गिम्मी! गिम्मी! (ए मैन आफ्टर मिडनाइट)


मैन-डीबी, कॉलिन वॉटसन के डेवलपर ने फैसला किया कि पर्याप्त मज़ा था और कहानी भूल नहीं जाएगी और ईस्टर अंडे को पूरी तरह से हटा दिया

धन्यवाद कॉलिन!


147
faketimeउपलब्ध प्लेटफ़ॉर्म पर आप सिस्टम समय बदलने की आवश्यकता के बिना भी यह कोशिश कर सकते हैं: faketime '00:30:00' man(डेबियन 8)।
रोइमा

5
@rrauenza में बुज़िला टिकट है: Bugzilla.redhat.com/show_bug.cgi?id=1515352
Jaroslav Kucera

38
करने के लिए केवल पर चलने लेखक अब ईस्टर अंडे कड़ी कर दी गई है man, नहीं man -w: git.savannah.nongnu.org/cgit/man-db.git/commit/src/... और Marnanel के confessio ^ Wanswer पर कॉलिन की टिप्पणी
मार्टिजन पीटरर्स 10

21
आइए उल्लेख करते हैं कि प्रारंभिक प्रतिबद्ध 12:01 बजे शुरू हुआ। एक फॉलोअप कमिट में बदल गया कि 12:30 बजे कमिट मैसेज "हाफ पास्ट बारह" के साथ है जिसे फिर से उसी गाने से उद्धृत किया गया है।
17:00

6
@ 0x90 man -wवर्तमान मैनुअल पेज सर्च पथ को प्रिंट करता है, जो उस प्रकार की चीज है जिसे आप किसी अन्य चीज़ के लिए बिल्डिंग ब्लॉक के रूप में उपयोग कर सकते हैं।
कॉलिन वॉटसन

364

कुछ प्रतिबिंब के बाद, मैंने इस ईस्टर अंडे को हटा दिया है । यह आगामी मैन-डीबी 2.8.0 में चला जाएगा।

मुझे खुशी है कि इसने कुछ लोगों को मुस्कुरा दिया, जो आखिरकार इसका पूरा उद्देश्य था, और मेरे ट्विटर नोटिफिकेशन और इतने पर आज का सुझाव है कि ज्यादातर लोगों ने सोचा कि यह कष्टप्रद की तुलना में अधिक मनोरंजक था। फिर भी, कुछ लोगों ने इसे कष्टप्रद पाया, और छह साल उस तरह के एक बहुत अच्छे रन की तरह लगते हैं; यह शायद इस सवाल के रास्ते से पहले से ही अप्रत्याशित रूप से बेहतर प्रदर्शन नहीं हो रहा है। इसे बिस्तर पर लगाने का समय।


121
मैं वास्तव में दुखी हूं कि आपने यह फैसला किया। आईएमओ बहुत से लोग इसे ईस्टर अंडे के लिए बाहर करते हैं।
सेठ

36
मैं भविष्य में कुछ अलग जोड़ने से इंकार नहीं करूंगा, भले ही अधिक देखभाल के साथ! यह थोड़ा बासी हो रहा था, हालांकि, और हास्य को नवीनता की आवश्यकता होती है।
कॉलिन वॉटसन

31
मुझे @ सेठ से सहमत होना है, कुछ जाना दुखद है जिसने हम में से अधिकांश को मुस्कुरा दिया, हमें वास्तव में इस दुनिया पर और अधिक की आवश्यकता है।
3

189
मुझे आशा है कि यह किसी भी वर्कफ़्लोज़ को नहीं तोड़ता है xkcd.com/1172
Lakshay Garg

73
@ColinWatson मुझे लगता है कि डिफ़ॉल्ट प्रवाह में इसे अक्षम करना एक अच्छा विचार है, इसलिए यह किसी के वर्कफ़्लो को नहीं तोड़ता है। लेकिन एक ही समय में, यह शर्म की बात है कि ऐसी उत्कृष्ट कृति को हटाना पड़ा। आप एक विशेष ध्वज को जोड़ सकते हैं जैसे man -abbaऔर जब आधी रात के बाद निकाल दिया जाता है तो ईस्टर अंडे देगा।
बार्ट्लोमिएज स्किविरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.