Function: eca-rewrite--merge-git

eca-rewrite--merge-git is a natively compiled function defined in eca-rewrite.el.

Signature

(eca-rewrite--merge-git BEG END NEW-TEXT MODEL)

Documentation

Produce a merge conflict region between BEG and END.

Merge the region with NEW-TEXT using git merge-file. MODEL is the model used.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-rewrite.el
(defun eca-rewrite--merge-git (beg end new-text model)
  "Produce a merge conflict region between BEG and END.

Merge the region with NEW-TEXT using git merge-file.
MODEL is the model used."
  (let ((original-temp-file (make-temp-file "eca-rewrite-merge-"))
        (empty-temp-file (make-temp-file "eca-rewrite-merge-"))
        (new-temp-file (make-temp-file "eca-rewrite-merge-")))
    (unwind-protect
        (progn
          (write-region beg end original-temp-file)
          (with-temp-file empty-temp-file (insert ""))
          (with-temp-file new-temp-file (insert new-text))
          (goto-char beg)
          (delete-region beg end)
          (call-process
           "git" nil (list (current-buffer) nil) nil
           "merge-file" "--no-diff3" "-L" "original" "-L" "Empty" "-L"
           model "-p"
           original-temp-file empty-temp-file new-temp-file)
          (goto-char beg))
      (delete-file original-temp-file)
      (delete-file empty-temp-file)
      (delete-file new-temp-file))))