WinMerge / winmerge

WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
https://winmerge.org/
GNU General Public License v2.0
6.38k stars 791 forks source link

Some enhancements that might be interesting / useful #1266

Open prino opened 2 years ago

prino commented 2 years ago

I' using WinMerge 2.14.0.0 Unicode, in other words a pretty old version, but from limited testuing with 2.16.18, it seems that what I would like to see as enhancements are not there, so here they are:

1) If on the Open dialog I specify a specific set of files, e.g. "*.txt", it seems to becomes persistent, until I change it again. Annoying, because on occasions I've compared other file types, and there then no changes, because there are no files selected!

2) WinMerge project files are (were?) IMHO a bit too limited, and should be expanded to support a number of settings, such as

2.a)

And these setting should not overwrite the ones stored in wherever they're stored now.

2.b) an option to specify a fixed record length would also be nice, especially when comparing EBCDIC files coming from z/OS (OK, dreaming don't cost nothing)

2.c) A compare-as-hex would be nice, but in this case a resync would be hard, though definitely not impossible, as SuperCBT shows.

2.d) having per-project line-filters would be ever so useful, and there should be an option to let them temorariliy override the "system" defined ones

3) Resyncing some (bigger) files after many differences on occasion fails miserably

4) Other than allowing a code-page in the .WinMerge file, it should be possible to change it on-the-fly, if programs like HxD and Notepad++ can do it, why can't WinMerge?

sdottaka commented 2 years ago

2.a) In the current version, comparison options other than codepage are saved in the project file.

image

2.b) If you want to break a file that does not contain a newline character every fixed-line, specify the Unpacker plugin as shown below.

e.g. Line break every 10 characters

Replace -e "(.{10})" "$1!" | Tokenize '!'

2.c) Binary comparison is possible by selecting Binary menu item as shown below. However, it does not perform insert / delete detection like text comparison.

image

  1. Could you attach the files and steps to reproduce the problem?

image

  1. Double-click the encoding displayed in the status bar to display the Codepage dialog, in which you can change the codepage.

image

prino commented 2 years ago

Thanks for the reply, I think I really need to update, and to that effect I've, for now, downloaded the 2.16.18 version from portableapps.com to check out everything. (And the testing was with 2.16.4 portable, not 2.16.18)

As for my "3)" problem, this happened on files that I no longer have, although I might be able to recreate them, they're merges of several 1000(!) small text files with the addition of IBM z/OS IEBUPDTE control data to split them upon that platform, and some 18 months ago or so I changed the process to run on z/OS, using SuperC. Probably still have the REXX code that I used on the PC, but the files are huge, 100+Mb (although just 4Mb RAR'ed, so utter truckkloads of repeated data, which might have been the cause of not being able to resync properly), more than 1.3 million lines, and next to that I have no clue as to when I might have an update where I would need to do a compare, I've not made any changes to the programs that generate them over the past year, and although I've got some ideas about adding a few more statistics, I seem to be caught with some kind of "writers block", which might be the result of having had corona (despite having been triple vaccinated).