पैच लगाते समय "1 लाइन व्हाट्सएप त्रुटियों को जोड़ती है" का क्या अर्थ है?


106

मैं एक क्लोन रिमोट रिपॉजिटरी की कुछ मार्कडाउन फ़ाइलों को संपादित कर रहा हूं, और एक शाखा से दूसरी शाखा में पैच बनाने और लागू करने का परीक्षण करना चाहता था। हालाँकि, हर बार जब भी मैं कोई बदलाव करता हूँ, मुझे निम्नलिखित संदेश मिलते हैं git apply:

0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.

(यह मेरे मैक पर हो रहा है, और मुझे नहीं पता कि मूल कोड कहां बनाया गया था।)

चेतावनी संदेश का क्या मतलब है, और क्या मुझे देखभाल करने की आवश्यकता है?


जवाबों:


127

आपको देखभाल करने की आवश्यकता नहीं है।

व्हाट्सएप के संबंध में चेतावनी पाठ फ़ाइलों की स्वच्छता के एक मानक को लागू करती है, जिस तरह की कई प्रोग्रामर देखभाल करते हैं। जैसा कि मैनुअल बताता है:

माना जाता है कि व्हाट्सएप त्रुटियां core.whitespace कॉन्फ़िगरेशन द्वारा नियंत्रित की जाती हैं। डिफ़ॉल्ट रूप से, अनुगामी व्हाट्सएप (लाइनों सहित जिसमें केवल व्हाट्सएप शामिल हैं) और एक स्पेस कैरेक्टर जिसका तुरंत लाइन के शुरुआती इंडेंट के अंदर टैब कैरेक्टर होता है, व्हॉट्सएप एरर माना जाता है।

डिफ़ॉल्ट रूप से, कमांड चेतावनी संदेशों को आउटपुट करता है लेकिन पैच लागू करता है।

तो, "त्रुटि" का अर्थ है कि परिवर्तन एक अनुगामी व्हाट्सएप, एक व्हाट्सएप-केवल लाइन, या एक जगह है जो एक टैब से पहले का परिचय देता है। इस तथ्य के अलावा, परिवर्तन के बारे में कुछ भी गलत नहीं है, और यह साफ और सही तरीके से लागू होगा। दूसरे शब्दों में, यदि आप "गलत" व्हाट्सएप की परवाह नहीं करते हैं, तो चेतावनी को अनदेखा करने या इसे बंद करने के लिए स्वतंत्र महसूस करें git config apply.whitespace nowarn


12
कमिट के साथ देखें git show- यदि आपका गिट रंग करता है, तो आप देखेंगे कि गुस्से में लाल रंग में आने वाले व्हाट्सएप। इसके अलावा, git show --word-diffआपको न केवल लाइन परिवर्तन दिखाएगा, बल्कि लाइन के बीच में सम्मिलन, जो यह दिखाना चाहिए कि क्या पैच वास्तव में केवल बीच में एक शब्द जोड़ता है, या यदि यह एक अनुगामी व्हाट्सएप भी जोड़ता है।
user4815162342

12
आपको देखभाल करने की आवश्यकता नहीं है । लेकिन आपको चाहिए। ट्रेलिंग व्हाट्सएप को मिटा दिया जाना चाहिए।
फनल

1
ओपी को छोड़कर कोई नया अनुगामी व्हॉट्सएप नहीं जोड़ा गया है, केवल वही संशोधित करता है जो पहले से मौजूद है।
user4815162342

4
मैंने इस तरह की स्थिति को तब देखा है जब यूनिक्स वालों के बजाय लाइन एंडिंग विंडोज स्टाइल सीआरएलएफ हैं।
एज़ेक्विअल मुन्स

1
@ यारिन यदि आप एक लाइन के बीच में एक शब्द जोड़ते हैं, और लाइन में पहले से ही व्हाट्सएप है, तो यह चेतावनी को ट्रिगर कर सकता है।
वारेन ड्यू

4

एक मामला जब आप वैध रूप से देखभाल कर सकते हैं, जब आप "पुरानी" व्हाट्सएप त्रुटि के बीच अंतर करना चाहते हैं (जो आप विरासत कारण के लिए रखना चाहते हैं) और "नई" व्हाट्सएप त्रुटियां (जिससे आप बचना चाहते हैं)।

उस प्रभाव के लिए, Git 2.5+ (Q2 2015) व्हॉट्सएप का पता लगाने के लिए अधिक विशिष्ट विकल्प का प्रस्ताव करेगा।

देखें करता 0e383e1 , 0ad782f , और d55ef3e [26 मई 2015] द्वारा Junio सी Hamano ( gitster)
(द्वारा विलय Junio में प्रतिबद्ध 709cd91 , 11 जून 2015)

diff.c: --ws-error-highlight=<kind>विकल्प

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

परिचय --ws-error-highlight=<kind>, विकल्प उन्हें एक अल्पविराम की सूची अलग से पारित देता है कि old, new, और contextक्या लाइनों को उजागर करने के लिए खाली स्थान के पर त्रुटियों निर्दिष्ट करने के लिए।

प्रलेखन अब भी शामिल है :

--ws-error-highlight=<kind>

निर्दिष्ट <kind>रंग द्वारा निर्दिष्ट लाइनों पर व्हॉट्सएप त्रुटियों को हाइलाइट करें color.diff.whitespace
<kind>की अल्पविराम द्वारा अलग सूची है old, new, context
जब यह विकल्प नहीं दिया जाता है, तो newलाइनों में केवल व्हाट्सएप त्रुटियों को उजागर किया जाता है।

उदाहरण के लिए, --ws-error-highlight=new,oldहटाए गए और जोड़े गए दोनों लाइनों पर व्हाट्सएप त्रुटियों को उजागर करता है।
allके लिए एक शॉर्ट-हाथ के रूप में इस्तेमाल किया जा सकता है old,new,context

उदाहरण के लिए, एक पुरानी खाली स्थान के त्रुटि (पड़ा प्रतिबद्ध bbb), लेकिन आप केवल (के अंत में नई त्रुटियों पर ध्यान केंद्रित कर सकते still bbbऔर ccc):

पुरानी और नई shitespace त्रुटियाँ

(परीक्षण के बाद किया गया t/t4015-diff-whitespace.sh)


Git 2.26 (Q1 2020) के साथ, diff-*उप-क्षेत्र के प्लंबिंग परिवार अब diff.wsErrorHighlightकॉन्फ़िगरेशन पर ध्यान देते हैं , जिसे पहले अनदेखा किया गया है; यह git add -pअंतिम उपयोगकर्ता को " " व्हाट्सएप समस्याओं को दिखाने की अनुमति देता है ।

जेफ किंग ( ) द्वारा देखें प्रतिबद्ध8080 (31 जनवरी 2020 )(द्वारा विलय Junio सी Hamano - - में df04a31 प्रतिबद्ध , 14 फ़र 2020)peff
gitster

diff: diff diffErrorHighlight को "बेसिक" कॉन्फिगर करें

साइन-ऑफ-बाय: जेफ किंग

हम पार्स को अलग-अलग लिखते हैं git_diff_ui_config(), जिसका अर्थ है कि यह प्लंबिंग कमांड के लिए प्रभावी नहीं है, केवल git diffअपने जैसे पोर्सलेन के लिए ।
यह हल्के से कष्टप्रद है क्योंकि इसका मतलब है लिपियों की तरह add--interactive, जो रंग के साथ एक उपयोगकर्ता-दृश्यमान अंतर पैदा करते हैं, विकल्प का सम्मान नहीं करते हैं

हम उस स्क्रिप्ट को कॉन्फिगरेशन को पार्स करने के लिए सिखा सकते हैं और इसे अलग --ws-error-highlightप्लंबिंग के साथ पास कर सकते हैं । लेकिन एक सरल उपाय है।

यह इस विकल्प का सम्मान करने के लिए नलसाजी के लिए यथोचित रूप से सुरक्षित होना चाहिए, क्योंकि यह केवल तभी किक करता है जब रंग अन्यथा सक्षम होता है। और किसी भी रंग का पार्सिंग आउटपुट को पहले से ही इस तथ्य से निपटना चाहिए कि color.diff.*वे जो सटीक आउटपुट देखते हैं उसे बदल सकते हैं; उन विकल्पों git_diff_basic_config()में 9a1805a872 में इसकी स्थापना के बाद से इसका हिस्सा रहा है ("बुनियादी" डिफॉल्ट कॉलबैक जोड़ें, 2008-01-04, Git v1.5.4-rc3)।

तो हम इसे "बेसिक" कॉन्फिगर करने के लिए ले जा सकते हैं, जो फिक्स करता है add--interactive, साथ ही उसी नाव में किसी अन्य स्क्रिप्ट के साथ, किसी भी प्लंबिंग उपयोगकर्ताओं को चोट पहुँचाने का बहुत कम जोखिम होता है।



-2

क्योंकि TABआइसटेड के साथ लाइन भीख मांगना SPACE। पैच फ़ाइल पर जाएं और उसके TABसाथ बदलें SPACE। ईजी ऑन लाइन + पैच फाइल टाइप x से स्पेस हटाने के लिए और साइन + हटाने के लिए नहीं और eqiv पर स्पेस (CTRL) को मूल आकार में डालें।


1
-1 आपको वाकई लगता है कि लिनस स्टाइल टैब इंडेंटेशन के बारे में शिकायत करेगा? टैब का एकमात्र वैध उपयोग, यदि कोई हो, लाइन की शुरुआत ठीक है।
user2394284
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.