[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 michael changed: What|Removed |Added Status|ASSIGNED|RESOLVED Version Fixed In||1.9 Latest Commit||https://invent.kde.org/sdk/ ||kdiff3/commit/4c4878188c604 ||941491b354a1df2f5c7b747ac26 Resolution|--- |FIXED --- Comment #9 from michael --- Git commit 4c4878188c604941491b354a1df2f5c7b747ac26 by Michael Reeves. Committed on 26/04/2021 at 03:13. Pushed by mreeves into branch 'master'. Add FAQ for common git difftool issue FIXED-IN:1.9 M +9-2doc/en/index.docbook https://invent.kde.org/sdk/kdiff3/commit/4c4878188c604941491b354a1df2f5c7b747ac26 -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 michael changed: What|Removed |Added Status|CONFIRMED |ASSIGNED --- Comment #8 from michael --- The default will be switched as of 1.9. The documentation update will be done in the next release -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 --- Comment #7 from michael --- I don't think it would be easy to see a git induced launch from kdiff3's perspective there is no easy way to know who launched us. I can switch the default setting to enable link resolution since this is a common use case. -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 --- Comment #6 from DmA --- Yes, that does it. Thank you. Then I'd guess this just devolves to a documentation bug? I don't know if kdiff3 can tell that it's being called by git and do that automatically? Other? To be clear, at this point, I'm set. I'm just hoping that other people won't get lost looking for this as well. Thank you very much. -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 --- Comment #5 from michael --- It looks like turning on "Follow File Links" should be enough to prevent to message from showing. It also will not show if "Full Analysis" is turned on. What will still happen is the "Operation" column in the resulting comparison tree will show "Error: Conflicting File Types". Which it probably shouldn't in this case. Can you verify this on your end? -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 --- Comment #4 from DmA --- git is doing something weird? No! Say it ain't so... Thank you for looking into this and doing something about it. -- You are receiving this mail because: You are watching all bug changes.
[kdiff3] [Bug 434778] git difftool --dir-diff causes "Mix of links and normal files error".
https://bugs.kde.org/show_bug.cgi?id=434778 michael changed: What|Removed |Added Summary|"Some files could not be|git difftool --dir-diff |processed." |causes "Mix of links and ||normal files error". --- Comment #3 from michael --- The relevant code appears to be hear if(!pOptions->m_bDmFollowFileLinks) { if(fi1.isSymLink() != fi2.isSymLink()) { qCDebug(kdiffMain) << "Rejecting comparison of link to file."; status = i18n("Mix of links and normal files."); return bEqual; } else if(fi1.isSymLink() && fi2.isSymLink()) { qCDebug(kdiffMain) << "Rejecting comparison of link to link. OK."; bError = false; bEqual = fi1.readLink() == fi2.readLink(); status = i18n("Link: "); return bEqual; } } This is inside MergeFileInfos::fastFileComparison which is only called when Full Analysis is turned on. I'm going to be adding an option to disable this message which was not passed on to the caller before 1.8. This situation is created by git which internally symlinks the files in the current worktree and compares them to real files from the previous commit. -- You are receiving this mail because: You are watching all bug changes.