P3D3::External diff (KDiff3, DiffMerge) are awkward when dealing with multiple files

Create issue
Issue #247 resolved
codeman38 created an issue

If you attempt to diff several files at once, what ends up happening is that the diff tool is opened separately for //each// of those files. This is... less than ideal in the case of a changeset that's ridiculously large, to put it mildly. In a particularly extreme case, one might end up with half of one's dock covered in icons for the diff application of choice.

Many of the applications that are selectable for diffs can handle folders rather than files as input-- I know for a fact that FileMerge, DiffMerge, KDiff3 and TextWrangler all can. It seems like a better approach would be to create two temp folders, one for each revision, and then diff the two folders, instead of diffing the individual files one-by-one.

Comments (4)

  1. codeman38 reporter

    This is also partly a duplicate of #230; with KDiff3 and DiffMerge, a separate instance is opened for each file, which explains the whole "multiple icons in the dock" bit. Even then, though, the ability of these programs to diff entire folders should be taken into account.

  2. Jason Harris repo owner

    Maybe there should be a preference item? I really in general do not like having a folder diff, since with a folder diff you have to go into the diff and then double click *again* to actually diff the files you wanted to diff in the first place. At least with DiffMerge.

    With KDiff3 its even worse, (the quickest way is first to dismiss the dialog which tells you how many clicks you used, you then need to select the menu item "unfold all" and then you need to double click each item you wanted to diff. This after you already knew and specified to MacHg which items you wanted to diff in the first place. If anyone knows any extra command line option or something which should be passed to KDiff3 and DiffMerge to fix these problems, please tell me...!

    For now I have opted to send all the files to be diffed in one blob to DiffMerge and KDiff3 programs.

  3. Jason Harris repo owner

    - Fix #247. For the external diff tools DiffMerge and KDiff3, send all the files to be diffed in one group. This solves the problem of multiple diff tools launching.


  4. Log in to comment