Attached is a silly script to create a conflict on a temporary repository. The script creates 3 folders in the current directory: - hacker-repo: the folder where one hacker is working, - hacker2-repo: the folder where another hacker is working, - server-hosted-repo: the "central repository" where both hackers update from and commit to. The script runs the following operations: - create the central repository, - make the first hacker commit a one-line file, - make the second hacker update this file and commit the changes, - make the first hacker update the file without updating from the central repository first. (Some of these operations could probably have been expressed in terms of vc commands; apologies for not taking the time to do so.) From there one can start emacs -Q to observe the conflict: $ emacs -Q hacker-repo C-x v + That gets me a log buffer from vc saying: > Running "git pull --stat"... > From ../server-hosted-repo > * branch master -> FETCH_HEAD > Auto-merging README > CONFLICT (content): Merge conflict in README > Automatic merge failed; fix conflicts and then commit the result. And indeed, visiting the README, I see conflict markers, and the Smerge minor mode enabled (see attached screenshot). C-h b tells me that C-c ^ E runs smerge-ediff, which spawns Ediff's 3-window merge UI.