Skip to content

“meld Diff Error scm diff type 18 not supported” #34

@ThrowingNones

Description

@ThrowingNones

“meld Diff Error scm diff type 18 not supported”

Where is this type 18 documented, what does this mean?

I am on Win11.
Git 2.50.1.windows.1 installed
I have Meld 3.22.2 installed
Running VSCode 1.102.1
I have the Meld extension installed in VSCode

I have done all this to get Meld setup for Git / VSCode

git config --global diff.tool meld
git config --global difftool.prompt false
git config --global merge.tool meld
git config --global mergetool.prompt false

I am testing some workflows to merge two branches together using meld as my mergtool and difftool and trying to make ups some documentation for our internal team on using VSCode for our workflows. For testing I have made some changes on two branches on one file, changes on working-branch, and changes to the main-branch. When I use the VSCode GUI to switch to the main-branch, and merge in working-branch Git identifies a conflict and the VSCode source control toolbar > Merge Changes identifies the correct file that needs conflicts resolved.

While Git is in this MERGING state, from the Git bash command line if I type:

git mergetool

The Meld GUI comes up correctly in a three-way merge on the file that has changes on both branches. If I manually resolve the conflicts and save the merged file from Meld, Git is then happy, and I can run

get merge --continue

The merge completes and everything is good.

Now if we go back again in the workflow to where the merge was started from the VSCode GUI, when the conflict is detected… on VSCode source control page, if I right click on the merge file with the conflict (the one with the red exclamation point) and chose the right click menu option of:
“open with meld diff (git scm)”

I get a pop up error in the lower right corner from VSCode that says:

“meld Diff Error scm diff type 18 not supported”

Where is this type 18 documented, what does this mean?

Why is VSCode not capable of passing a merge conflict to meld, but I can do just fine by dropping back to the git command line from the git bash?

What am I missing here?

Whit this same VSCode GUI workflow, if I start a merge that has file edits but only on one side for one file, selecting “open with meld diff (git scm)” works fine. Meld pops up, I can choose to merge in new changes then save the file in Meld and then git merge --continue works fine, or I can finish my merge commit in the VSCode GUI.


After using VSCode source control page, right clicking on conflicted file and selecting “open with meld diff (git scm)”

I get a pop up error in the lower right corner from VSCode that says:

“meld Diff Error scm diff type 18 not supported”

here is my current git status from the bash command line:

On branch main
Your branch is up to date with 'origin/main'.

You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:
        modified:   Git_Tester_1.md

Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   Git_Tester_2.md

Found the Meld logs in VSCode comamnd Developer: Open Extensions Log Folder then in the folder named like output_logging_20250717T142911. Not much additional details here but:

Meld Diff Error: Scm diff type 18 not supported.
Run: meld "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\head_Git_Tester_1.md_8aioq74p" "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\staged_Git_Tester_1.md_9ms2v0y3"
Meld Diff Error: Scm diff type 18 not supported.
Run: meld "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\head_Git_Tester_1.md_3ns7csql" "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\staged_Git_Tester_1.md_qfpfsylk"
Meld Diff Error: Scm diff type 18 not supported.
Run: meld "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\head_Git_Tester_1.md_bhlqk7lq" "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\staged_Git_Tester_1.md_njvg5z5p"
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Run: meld "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\head_Git_Tester_1.md_y1zhajur" "c:\Users\ThsiUserNameWasHere\AppData\Local\Temp\staged_Git_Tester_1.md_k1r9i9cn"
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.
Meld Diff Error: Scm diff type 18 not supported.


and then the logs from VSCode Git output:

2025-07-18 07:44:49.610 [info] > git merge working-branch [213ms]
2025-07-18 07:44:49.731 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/main refs/remotes/main [111ms]
2025-07-18 07:44:49.861 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [113ms]
2025-07-18 07:44:49.863 [info] > git status -z -uall [123ms]

At this point there is the git merge conflict and the Meld “meld Diff Error scm diff type 18 not supported” pops up in the VSCode GUI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions