Fix KDiff3 & Nexus Mod Manager Compaitibility Issues Regarding Symbolic Links #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added junction/symlinks pre-processing for file paths when calling KDiff3, as KDiff3 does not follow symlinks/junctions when passed as arguments from the command line. I could not find any documentation about this particular error regarding KDiff3, so I suspect it may be an issue with Windows 10, but have no evidence to back it up. Furthermore, its my personal preference to parse such things on our end anyway.
This is a very quick & untested implementation that only checks paths for the "B" and "C" files during merge that specifically fixes the issue with Nexus Mod Manager using symbolic links and the failure of KDiff3 to parse them (despite its settings being set to follow links).
Unfortunately, I could not derive the root cause of the issue with KDiff3 not following the symlink. In fact, after KDiff3 opens with "B" & "C" files blank and showing the original link path, you can simply click the file browser for each file and immediately click "OK" to force KDiff3 to follow the link. Of course this is not usable for our purposes.
Feel free to tweak this or make it more robust. The extension method can be used on both symlink'd and non simlink'd fileInfos.