]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mergetools: vscode: new tool
authorAlex Henrie <alexhenrie24@gmail.com>
Mon, 2 Sep 2024 02:59:14 +0000 (20:59 -0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 Sep 2024 03:47:58 +0000 (20:47 -0700)
VSCode has supported three-way merges since 2022, see
<https://github.com/microsoft/vscode/issues/5770#issuecomment-1188658476>.

Although the program binary is located at /usr/bin/code, name the
mergetool "vscode" because the word "code" is too generic and would lead
to confusion. The name "vscode" also matches Git's existing
contrib/vscode directory.

On Windows, VSCode adds the directory that contains code.cmd to %PATH%,
so there is no need to invoke mergetool_find_win32_cmd to search for the
program.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetools/vscode [new file with mode: 0644]

diff --git a/mergetools/vscode b/mergetools/vscode
new file mode 100644 (file)
index 0000000..3b39b45
--- /dev/null
@@ -0,0 +1,19 @@
+diff_cmd () {
+       "$merge_tool_path" --wait --diff "$LOCAL" "$REMOTE"
+}
+
+diff_cmd_help () {
+       echo "Use Visual Studio Code (requires a graphical session)"
+}
+
+merge_cmd () {
+       "$merge_tool_path" --wait --merge "$REMOTE" "$LOCAL" "$BASE" "$MERGED"
+}
+
+merge_cmd_help () {
+       echo "Use Visual Studio Code (requires a graphical session)"
+}
+
+translate_merge_tool_path () {
+       echo code
+}