adamyg / mcwin32

Midnight Commander for Windows
https://sourceforge.net/projects/mcwin32/
210 stars 14 forks source link

not possible to compare files #74

Closed mikekgr closed 8 months ago

mikekgr commented 9 months ago

installed version 4.8.30 - build 229 at Windows 11 Dear Sirs, as the title says, in my installation / case, it is not possible to compare files, I always got the error : "Two files are needed to compare" although I have the two files Is this functionality need any special handling? Do I need special handling ? Just to mention that I usually work on mc on my Ubuntu 20.04 server and this function "compare files" is working as it should.

Thanks and Best Regards, Mike Kranidis

adamyg commented 9 months ago

mcwin32 currently assumes a Unix style diff (GNU only) is within the path; with explicit use of "Line Group Formats' options. Shall consider options.

mikekgr commented 9 months ago

mcwin32 currently assumes a Unix style diff (GNU only) is within the path; with explicit use of "Line Group Formats' options. Shall consider options.

So, if understood correctly, shall I have to install a diff version suitable for win32?? Can you suggest me a good one?

adamyg commented 9 months ago

GNU diffutils; reviewing options of alt diff engine, maybe bsd-diff.

mikekgr commented 9 months ago

GNU diffutils; reviewing options of alt diff engine, maybe bsd-diff.

Well following your suggestion, I installed GNU diff in my Windows installation and I put the path to diff.exe in the Windows environment path. Now when I type diff --help in any cmd I got the proper response. Even at the mcwin32 prompt if I type diff --help I got response. But mcwin32 does not work, give me the same error: "Two files are needed to compare" although I have specify the two files What else I need to setup? Thanks

adamyg commented 9 months ago

GNU diffutils; reviewing options of alt diff engine, maybe bsd-diff.

"Two files are needed to compare" is a generic error on failure. Current internal diff command line is not suitable for popen() shell, reviewing

 diff -a --old-group-format='%df%(f=l?:,%dl)d%dE\n'  --new-group-format='%dea%dF%(F=L?:,%dL)\n' \
  --changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)\n'  --unchanged-group-format='' filea fileb
mikekgr commented 9 months ago

GNU diffutils; reviewing options of alt diff engine, maybe bsd-diff.

"Two files are needed to compare" is a generic error on failure. Current internal diff command line is not suitable for popen() shell, reviewing

 diff -a --old-group-format='%df%(f=l?:,%dl)d%dE\n'  --new-group-format='%dea%dF%(F=L?:,%dL)\n' \
  --changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)\n'  --unchanged-group-format='' filea fileb

Dear Sir, Sorry but my knowledge is not that much in this subject. If you want to try something give me specific information. By the way I tried to found bsd-diff for Windows but I found nothing.

adamyg commented 8 months ago

bundling mcdiff, bsd diff derived diff engine with package.

mikekgr commented 8 months ago

Dear @adamyg Many thanks for include diff and thus you make our life easier!