1

The desired use-case might be:

  • Launch KDiff3 via 'git mergetool' which auto-resolves most conflicts
  • Resolve additional conflicts in KDiff3
  • Use a programming editor (eg. VS) to resolve remaining conflicts

The title is a bit of a sinker as it's "No" (keep reading for question focus!) as per the KDiff3 manual, this does not appear to be possible.

Saving will only be allowed, when all conflicts were solved. [..] When you exit or start another diff-analysis and data wasn't saved yet, then KDiff3 will ask if you want to save, cancel or proceed without saving. [.. If] you "kill" KDiff3 then your data will be lost.

However, the questions/focus are:

  • What makes this a forbidden operation in KDiff3? 'Simple' features may involve complicated solutions.
  • Are there other 3-way diff tools or git command/approach that allows such a use-case as described above? It is unlikely such a split-part merge editing approach is novel.
  • Are conflict markers added by Git (eg. prior to running the merge tool) or the merge tool itself? Is the a variation of this process?
user2864740
  • 60,010
  • 15
  • 145
  • 220
  • 1
    I cannot say anything about kdiff3 (never having used it myself) but in general, "conflict markers" are a textual representation of an *attempt* to combine three files (base+ours+theirs) and all *merge tools* work by taking all three original inputs. They may also take Git's best-effort-at-merging-but-has-conflict-markers as a fourth input. Git itself wants the tool to do a full merge and report back with "this is the correct final result". – torek May 06 '20 at 19:06
  • 1
    It's certainly possible for a tool to save its own state somewhere, let you exit, and report back to Git "I totally failed, do not use the result" and then let you resume later. The tool will have to save its state somewhere that Git won't mess with it. – torek May 06 '20 at 19:07

0 Answers0