maioupdate.blogg.se

Winmerge command line diff
Winmerge command line diff











winmerge command line diff winmerge command line diff

Find all the lines of code in the minor routine that are identical to master and align them to the master Use the larger routine as the master routine Decide which of the two routines has more lines (left or right) start of line is spaced out to 9 spaces (allows an 8 char tag), longer tags left alone Get 2 routines and normalise each line of code into 2 arrays so that N HalfWidth,I,L,Left,R,Right,MASTER,MINOR,MI,RA,RB,R1,R2 Look for InverseOn and InverseOff as they are the variables used for highlighting differences Don't like the screen handling? You change it. Written to run on a putty terminal so screen handling is a bit noddy To compare across namespaces populate N1 and N2 with a valid namespace I Master="" Q:$Q "99No routine supplied" Q Pass in "24 9999" if you are going to use the arrays and pass them to something else that looks after formatting Pass in "24 80" if you like, it will work. ScreenLength and width can be passed in if your terminal doesn't go to 160 columns. The lines of code that are the same will be lined up Make Routine1 and Routine2 variables and pass by reference to get back the 2 routines as arrays Call it like $$^ZRDIFF(Routine1,Routine2,Namespace1,Namespace2,0,0.Diffs) to get it to return a non-zero number indicating there's a difference To compare classes use #class(%).GetTextAsArray(,ClassName.Array) and do your own thing. Alternatively, pass in a pair of arrays to compare in Master and Minor but ensure top node is populated with something. Pass in 1st routine (arg1 is Master) to compare against itself (in another namespace) or against 2nd routine (arg2 is Minor)

winmerge command line diff

Knocked up to run a quick diff on an old Caché version 5 system where my nice diff program won't work













Winmerge command line diff