2

With Mercurial, every time a

hg vdiff

which invokes kdiff3, there are 2 steps that need to be done:

1) close the pop up that says how many files are diff'ing
2) go to Directory -> Unfold all Subdirs

Is there a way to skip the step 1 and step 2 and have it automatically expand all folders and show the files?

nonopolarity
  • 146,324
  • 131
  • 460
  • 740

3 Answers3

3

There are 2 check-boxes available on kdiff3 Version 0.9.98 under Settings -> Configure KDiff -> Directory: "Unfold all subdirectories on load" and "Skip directory report status".

OOP
  • 293
  • 4
  • 16
  • I believe there were older versions of KDiff3 that didn't have this (I remember being frustrated by it), but for modern versions, this is totally the answer. – jwd Aug 01 '20 at 00:39
1

Hrm, that'll be entirely up to kdiff3, but if you can find a command line option that starts kdiff3 out in expanded mode you'll can tweak the vdiff string in the configuration lines for the ExtdiffExtension, which is the feature someone has configured for you. That can be configured in any hgrc which can be per-repo (.hg/hgrc), per-user (~/.hgrc), or system-wide (/etc/mercurial'hgrc). If you don't recall setting it up it's probably in the system-wide location.

If you want to see exactly where as setting is coming from in a recent version of Mercurial you can use the command:

hg --debug showconfig

look for kdiff3 there and you'll find exactly what file and line to tweak.

Ry4an Brase
  • 78,112
  • 7
  • 148
  • 169
0

It doesn't seem possible, as it's not in kdiff3's command line options, and there's no config item for it as seen from kdiff3 --confighelp.

I guess you can hack the source. It's Qt so it can't be hard, can it?

(BTW Beyond Compare has -expandall option that does exactly that. I don't want to sound like I get commission from Scooter Software, but BC is literally beyond any diff/merge tool that I've seen. There's one thing that kdiff3 can but BC cannot, though: 3-directory comparison.)

Geoffrey Zheng
  • 6,562
  • 2
  • 38
  • 47