2013-02-06 29 views
10

गिट प्रारूप-पैच (एकीकृत पैच प्रारूप में) का उपयोग करके बनाई गई एक diff फ़ाइल को देखते हुए, मैं उसी फ़ाइल को emacs में कैसे लोड करूं ताकि मैं फ़ाइल में संबंधित स्थान पर जाने के लिए सीसी सीसी का उपयोग कर सकूं, भले ही फ़ाइल या निर्देशिका नाम में खिड़कियों पर एक स्थान होता है।मैं रिक्त स्थान के साथ emacs diff का उपयोग कैसे करूं?

मेरी प्रोजेक्ट में बहुत सारी फ़ाइल और निर्देशिका नाम हैं जिनमें रिक्त स्थान हैं।

+1

लगता है जैसे आपको एक बग फाइल करना चाहिए? इसे विंडोज़ पर भी काम करना चाहिए। – tripleee

+0

भले ही यह एक बग है, वहां एक कामकाज होना चाहिए। – Arafangion

+0

जब मैं इसे आज़माता हूं, तो मुझे एक त्रुटि मिलती है "फ़ाइल की शुरुआत नहीं मिल सकती"। क्या आपको यह मिलता है? – razeh

उत्तर

3

यह Emacs में एक बग प्रतीत होता है।

=== modified file 'lisp/vc/diff-mode.el' 
--- lisp/vc/diff-mode.el 2013-01-02 16:13:04 +0000 
+++ lisp/vc/diff-mode.el 2013-02-26 05:08:48 +0000 
@@ -821,9 +821,11 @@ If the OLD prefix arg is passed, tell th 
       (progn (diff-hunk-prev) (point)) 
      (error (point-min))))) 
     (header-files 
-  (if (looking-at "[-*][-*][-*] \\(\\S-+\\)\\(\\s-.*\\)?\n[-+][-+][-+] \\(\\S-+\\)") 
-   (list (if old (match-string 1) (match-string 3)) 
-   (if old (match-string 3) (match-string 1))) 
+   ;; handle filenames with spaces; 
+   ;; cf. diff-font-lock-keywords/diff-file-header-face 
+  (if (looking-at "[-*][-*][-*] \\([^\t]+\\)\t.*\n[-+][-+][-+] \\([^\t]+\\)") 
+   (list (if old (match-string 1) (match-string 2)) 
+   (if old (match-string 2) (match-string 1))) 
     (forward-line 1) nil))) 
     (delq nil 
     (append 

मैं इसे Emacs BzR स्रोत पेड़ के लिए प्रतिबद्ध होगा अगर कोई आपत्ति हो जाएगा: यहाँ एक पैच मेरे लिए यह तय करने के लिए प्रकट होता है जो है।

+0

देरी के लिए खेद है, हालांकि आपका पैच समझ में आता है, केवल अलग-अलग सफेद जगह होने के बजाय प्रासंगिक नहीं होने पर टैब से अलग नहीं। जब मैं इसका परीक्षण करने में सक्षम हूं तो मैं इसके लिए एक बक्षीस जोड़ने पर विचार करूंगा। :) – Arafangion