Git Merge - Accept Target - causes engine to crash

Bump. Would very much like to see this resolved.

Hi,

I am trying to use the git plugin.

I have created a test project from blank with only 1 actor “KAKI”

When I am pulling changes from the server with changes in the file after I edited it locally I am getting a conflict as expected.

As I am trying to resolve the conflict using the Merge Tool, and using the “Accept Target” button, the engine crashes.

Any Clues? Am I doing something wrong?

Steps to reproduce the problem:

  • Create Blank Project - Project 1

  • Create new actor - Actor01

  • Commit and push files to remote repository

  • Pull files to different new directory (git repository) - Project 2

  • Edit Actor01 in Project 2

  • Commit and Push Project 2 changes to remote

  • Edit Actor01 in Project 1

  • Pull changes causing a conflict

  • Refresh Source Control state for Actor01 - Get “exclamation mark” icon on the actor

  • Edit Actor01 → File → Merge

  • View changes (from remote and local side by side)

  • Click “Accept Target”

  • Crash!

Crash:

Assertion failed: Blueprint [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Editor\Kismet\Private\SCSEditorViewportClient.cpp] [Line: 748]

UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4+release-4.16+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_Kismet!FSCSEditorViewportClient::InvalidatePreview() [d:\build++ue4+release-4.16+compile\sync\engine\source\editor\kismet\private\scseditorviewportclient.cpp:750]
UE4Editor_Kismet!FSCSEditorViewportClient::Tick() [d:\build++ue4+release-4.16+compile\sync\engine\source\editor\kismet\private\scseditorviewportclient.cpp:187]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4+release-4.16+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1701]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4+release-4.16+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:386]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3119]
UE4Editor!GuardedMain() [d:\build++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

[LogFile][2]

Just wanted to throw in that I am having the same issue.

Hi, I have also reproduced this in UE4.17.

It does not look like an issue with the Git plugin: the stack does not point to the Git plugin. I’ve already spent some time on this this summer, but will try to look at it with a fresh eye!

Can anyone let me know if this is working with Perforce/Subversion?
I am not sure that anyone is “merging conflicts” on Perforce or Subversion since everything is done to avoid it (with file locking)!

Hi. I opened a pull request with a working solution to fix this issue.

Edit: Was merged for 4.24.