[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/add-vdiff 6f89757 231/258: vdiff-magit: Resurrect resolve
From: |
Justin Burkett |
Subject: |
[elpa] scratch/add-vdiff 6f89757 231/258: vdiff-magit: Resurrect resolve |
Date: |
Wed, 17 May 2017 08:13:59 -0400 (EDT) |
branch: scratch/add-vdiff
commit 6f897578fa6d6208e7843ee65681fbb683980be6
Author: Justin Burkett <address@hidden>
Commit: Justin Burkett <address@hidden>
vdiff-magit: Resurrect resolve
Don't support three way merges yet.
---
vdiff-magit.el | 80 +++++++++++++++++++++++++++++++---------------------------
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/vdiff-magit.el b/vdiff-magit.el
index 03a9c2b..fda9c36 100644
--- a/vdiff-magit.el
+++ b/vdiff-magit.el
@@ -103,7 +103,7 @@ tree at the time of stashing."
(?u "Show unstaged" vdiff-magit-show-unstaged)
(?s "Stage (vdiff)" vdiff-magit-stage)
(?i "Show staged" vdiff-magit-show-staged)
- (?m "Resolve" magit-ediff-resolve)
+ (?m "Resolve" vdiff-magit-resolve)
(?w "Show worktree" vdiff-magit-show-working-tree)
(?r "Diff range" vdiff-magit-compare)
(?c "Show commit" vdiff-magit-show-commit) nil
@@ -132,7 +132,7 @@ conflicts, including those already resolved by Git, use
(with-current-buffer (find-file-noselect file)
;; taken from `smerge-ediff'
(require 'smerge-mode)
- (let* ((buf (current-buffer))
+ (let* ((smerge-buffer (current-buffer))
(mode major-mode)
;;(ediff-default-variant 'default-B)
(config (current-window-configuration))
@@ -148,10 +148,18 @@ conflicts, including those already resolved by Git, use
base)
(with-current-buffer mine
(buffer-disable-undo)
- (insert-buffer-substring buf)
+ (insert-buffer-substring smerge-buffer)
(goto-char (point-min))
(while (smerge-find-conflict)
- (when (match-beginning 2) (setq base t))
+ (when (match-beginning 2)
+ ;; This is not supported yet, so we abort here
+ ;; (setq base t)
+ (when (buffer-live-p mine)
+ (kill-buffer mine))
+ (when (buffer-live-p other)
+ (kill-buffer other))
+ (set-window-configuration config)
+ (user-error "Sorry vdiff-magit does not support three-way merges
yet."))
(smerge-keep-n 1))
(buffer-enable-undo)
(set-buffer-modified-p nil)
@@ -159,7 +167,7 @@ conflicts, including those already resolved by Git, use
(with-current-buffer other
(buffer-disable-undo)
- (insert-buffer-substring buf)
+ (insert-buffer-substring smerge-buffer)
(goto-char (point-min))
(while (smerge-find-conflict)
(smerge-keep-n 3))
@@ -167,37 +175,35 @@ conflicts, including those already resolved by Git, use
(set-buffer-modified-p nil)
(funcall mode))
- (when base
- (setq base (generate-new-buffer
- (or name-base
- (concat "*" filename " "
- (smerge--get-marker smerge-base-re "BASE")
- "*"))))
- (with-current-buffer base
- (buffer-disable-undo)
- (insert-buffer-substring buf)
- (goto-char (point-min))
- (while (smerge-find-conflict)
- (if (match-end 2)
- (smerge-keep-n 2)
- (delete-region (match-beginning 0) (match-end 0))))
- (buffer-enable-undo)
- (set-buffer-modified-p nil)
- (funcall mode)))
-
- ;; the rest of the code is inspired from vc.el
- ;; Fire up vdiff.
+ ;; (when base
+ ;; (setq base (generate-new-buffer
+ ;; (or name-base
+ ;; (concat "*" filename " "
+ ;; (smerge--get-marker smerge-base-re "BASE")
+ ;; "*"))))
+ ;; (with-current-buffer base
+ ;; (buffer-disable-undo)
+ ;; (insert-buffer-substring smerge-buffer)
+ ;; (goto-char (point-min))
+ ;; (while (smerge-find-conflict)
+ ;; (if (match-end 2)
+ ;; (smerge-keep-n 2)
+ ;; (delete-region (match-beginning 0) (match-end 0))))
+ ;; (buffer-enable-undo)
+ ;; (set-buffer-modified-p nil)
+ ;; (funcall mode)))
+
(vdiff-buffers3
- mine other base
- `(lambda (mine other base)
- (let ((orig-buf ,buf))
- (with-current-buffer orig-buf
- (when (yes-or-no-p (format "Conflict resolution finished; save
%s?"
- buffer-file-name))
- (erase-buffer)
- (insert-buffer-substring base)
- (save-buffer)))))
- t t)))))
+ mine other smerge-buffer
+ (lambda (mine other smerge-buffer)
+ (with-current-buffer smerge-buffer
+ (when (yes-or-no-p (format "Conflict resolution finished; save
%s?"
+ buffer-file-name))
+ (save-buffer)))
+ (dolist (buf (list mine other))
+ (when (buffer-live-p buf)
+ (kill-buffer buf))))
+ t)))))
;;;###autoload
(defun vdiff-magit-stage (file)
@@ -300,7 +306,7 @@ mind at all, then it asks the user for a command to run."
((and (guard (not vdiff-magit-dwim-show-on-hunks))
(or `unstaged `staged))
(setq command (if (magit-anything-unmerged-p)
- #'magit-ediff-resolve
+ #'vdiff-magit-resolve
#'vdiff-magit-stage)))
(`unstaged (setq command #'vdiff-magit-show-unstaged))
(`staged (setq command #'vdiff-magit-show-staged))
@@ -334,7 +340,7 @@ mind at all, then it asks the user for a command to run."
(?c "[c]ommit" 'vdiff-magit-show-commit)
(?r "[r]ange" 'vdiff-magit-compare)
(?s "[s]tage" 'vdiff-magit-stage)
- (?v "resol[v]e" 'magit-ediff-resolve))))
+ (?v "resol[v]e" 'vdiff-magit-resolve))))
((eq command 'vdiff-magit-compare)
(apply 'vdiff-magit-compare revA revB
(magit-ediff-read-files revA revB file)))
- [elpa] scratch/add-vdiff e8834fa 035/258: Fix fold size calcs, (continued)
- [elpa] scratch/add-vdiff e8834fa 035/258: Fix fold size calcs, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 9547850 041/258: Use diff faces from theme, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff bac92b3 037/258: Improve line translation and command mirroring, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 6b6f6e7 044/258: Force fold refresh on window size change, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff e005d43 058/258: Delete overlays right away on sending changes, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 1cf0730 055/258: Fix compiler warnings, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 697bb79 060/258: Prefer last element of multiple in line map, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 3207365 064/258: Satisfy compiler, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 8b6cb54 218/258: vdiff-magit: Port resolve, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 617265b 238/258: vdiff-magit: Remove unused magit-ediff code, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 6f89757 231/258: vdiff-magit: Resurrect resolve,
Justin Burkett <=
- [elpa] scratch/add-vdiff 0f8dd15 239/258: vdiff: Improve a couple of docstrings, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff d8cfb8f 243/258: vdiff: Don't use scroll-lock-mode programmatically, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff bc5a9a8 242/258: vdiff-magit: Remove unnecessary local bindings, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff c32fe46 251/258: vdiff: Fix compiler warnings, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 875b0d5 252/258: README: Improve vdiff-magit-popup, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 8a3dff3 254/258: vdiff-magit: Add vdiff-magit-stage-is-2way, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 3a32c4e 255/258: README: Update, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff d4883de 256/258: vdiff-magit: Remove use of camel case names for consistency, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 819ea4b 258/258: Add 'packages/vdiff/' from commit 'f11c7c2eeef33a0b75fe4e025818e7e672c57397', Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 14abb75 078/258: Allow jumping to subtraction overlays, Justin Burkett, 2017/05/17