[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master a628cd9 3/3: Further tweaks to the patch fixer-upper (for
From: |
Lars Ingebrigtsen |
Subject: |
[elpa] master a628cd9 3/3: Further tweaks to the patch fixer-upper (for a/erc.el) |
Date: |
Sun, 27 Dec 2015 20:35:14 +0000 |
branch: master
commit a628cd901bc9924cdf745f5f83b5abaf69987549
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
Further tweaks to the patch fixer-upper (for a/erc.el)
---
packages/debbugs/debbugs-gnu.el | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el
index 296538a..034f6f6 100644
--- a/packages/debbugs/debbugs-gnu.el
+++ b/packages/debbugs/debbugs-gnu.el
@@ -1421,21 +1421,26 @@ If given a prefix, patch in the branch directory
instead."
(goto-char (point-min))
(re-search-forward diff-file-header-re nil t)
(goto-char (match-beginning 0))
- (let ((file-names (diff-hunk-file-names)))
- (when (and file-names
- (not (string-match "/" (car file-names))))
+ (let ((target-name (car (diff-hunk-file-names))))
+ (when (and target-name
+ (or (not (string-match "/" target-name))
+ (and (string-match "^[ab]/" target-name)
+ (not (file-exists-p
+ (expand-file-name (substring target-name 2)
+ dir))))))
;; We have a simple patch that refers to a file somewhere in the
;; tree. Find it.
(when-let ((files (directory-files-recursively
- dir (concat "^" (regexp-quote (car file-names))
+ dir (concat "^" (regexp-quote
+ (file-name-nondirectory target-name))
"$"))))
(when (re-search-forward (concat "^[+]+ "
- (regexp-quote (car file-names))
- "[ \t]")
+ (regexp-quote target-name)
+ "\\([ \t\n]\\)")
nil t)
(replace-match (concat "+++ a"
(substring (car files) (length dir))
- "\t")
+ (match-string 1))
nil t))))))
(defun debbugs-gnu-find-contributor (string)