commit - 1870c8bd649b60c35cc007a4d13722934f8b80f5
commit + c151c257bb0f660fb7b52a1b7823c0831d320a2c
blob - 3986a311497e18b0bebd91ca8afe265e2f0e0ee9
blob + 6bf63b7c7e37a64fe428825cf2c30023ccb18005
--- vc-got.el
+++ vc-got.el
;; - check-headers NOT NEEDED, `got' does not use headers
;; - delete-file DONE
;; - rename-file NOT NEEDED, `delete' + `register' is enough
-;; - find-file-hook NOT NEEDED, no need for hooks yet
+;; - find-file-hook DONE
;; - extra-menu NOT IMPLEMENTED, add `import', `integrate', `stage'?
;; - extra-dir-menu NOT IMPLEMENTED, same as above
;; - conflicted-files DONE
"Delete FILE locally and mark it deleted in work tree."
(vc-got--remove file t))
+(defun vc-got-find-file-hook ()
+ "Activate `smerge-mode' if there is a conflict."
+ ;; just like vc-git-find-file-hook
+ (when (and buffer-file-name
+ (eq (vc-state buffer-file-name 'Got) 'conflict)
+ (save-excursion
+ (goto-char (point-min))
+ (re-search-forward "^<<<<<<< " nil 'noerror)))
+ (smerge-start-session)
+ (vc-message-unresolved-conflicts buffer-file-name)))
+
(defun vc-got-conflicted-files (dir)
"Return the list of files with conflicts in directory DIR."
(let* ((root (vc-got-root dir))