Welcome to MorphOS-Storage, a webserver dedicated to MorphOS users. ©2016-2025 Meta-MorphOS.org
Description:Displays differences of two text files using MUI window
Developer/Porter:Thomas Igracki
Readme:
Short: Displays differences of two text files in a MUI window
Uploader: Alexandre BALABAN (abalaban _at_ free _dot_ fr)
Author: Stephane SARAGAGLIA (steff.amiga _at_ saragaglia _dot_ net), Alexandre BALABAN (OS4 port), Thomas Igracki de (MOS fix)
Type: dev/misc
Requires: AmigaOS3.x/MorphOS/AmigaOS4, MUI, aminet/dev/mui/MCC_TextEditor.lha, aminet/dev/mui/MCC_Toolbar.lha, diff cmd
Version: 1.2
Replaces: amuidiff.lha
Architecture: m68k-amigaos >= 3.0.0; ppc-amigaos >= 4.0.0; ppc-morphos


--------------------------------------------------------------------------
WHAT IS IT ?
--------------------------------------------------------------------------
AMuiDiff is a MUI based diff tool which compares couple of text files.
It is a GUI for diffutils commands...
This tool is free. There is no copyright.

--------------------------------------------------------------------------
INSTALL
--------------------------------------------------------------------------

De-archiving:
lha x amuidiff.lha

Copy the amigaos 68k version (amuidiff.aos), the morphos version (amuidiff.mos)
or the AmigaOS4 version (amuidiff.os4) in C: .
Copy the french catalog in locale:Catalogs/fran�ais/, or AMuiDiff speaks
english.

AMuidiff needs the MUI TextEditor and ToolBar classes (YAM, ...) :
- aminet/dev/mui/MCC_TextEditor.lha
- aminet/dev/mui/MCC_Toolbar.lha

AMuiDiff needs a diff command tool. The following have been successfully tested :
- aminet/util/gnu/HWGdiffP1_2_6.lha (SAS port)
- GG diffutils
- OS4 diff utils from OS4Depot (utility/filetool/diffutils-bin.tar.gz)

The source is provided. Go to the "src/core" directory, and perform "make morphos"
to compile the morphos version, "make amigaos" to compile the amigaos (68k) version
or "make amigaos4" to compile the AmigaOS4 version. AMuiDiff has been compiled using
GCC. Compilation problems could occur using other compiler... I will try to perform
some tests with other compilers...

NB: A GoldED AIX project is also included in src/core which for now only contains
settings for OS4 compiler but could be easily modified for other targets.

To use the Editor feature, the AMuiDiff/EDITOR env var has to be set, or
golded:golded will be used :
- setenv "AMuiDiff/EDITOR" the_editor_you_want
- copy ENV:AMuiDiff ENVARC:AMuiDiff

To make AMuiDiff uses fixed font, the AMuiDiff/FIXEDFONT env var has to be set
to TRUE :
- setenv "AMuiDiff/FIXEDFONT" TRUE
- copy ENV:AMuiDiff ENVARC:AMuiDiff

--------------------------------------------------------------------------
USAGE
--------------------------------------------------------------------------

AMuiDiff can be launched from WB or cli.
Cli options are : FILE1,FILE2,OPTIONS,DEBUG/S
FILE1 and FILE2 : strings : files to compare
OPTIONS : strings : diff options.
Ex : AMuiDiff.mos ss_amiga_lib_tools.c ss_lib_tools.c OPTIONS="-b"
Ignore changes in the amount of white space
DEBUG : switch : amuidiff generate error log messages you can send me ;)

When the window is opened, it is easy to use...

--------------------------------------------------------------------------
TIPS
--------------------------------------------------------------------------

I currently use AMuiDiff with CVS using this script :
----------------------
.KEY file

echo "--> executing : cvs update -p <file> >T:cvs_amuidiff"
cvs update -p <file> >T:cvs_amuidiff
AMuidiff T:cvs_amuidiff <file>
delete T:cvs_amuidiff
----------------------

So to compare a file with its cvs archived version, I invoke :
> cvs-diff file_modified.

--------------------------------------------------------------------------
FUTURE
--------------------------------------------------------------------------

In priority order :
- Correct bugs users could discover : Permanent
- directory diffs management : In next release
- Drag'n'Drop to load files : OK
- Edit files from GUI : OK
- Confirm or correct diffs from one
file to the other (merge) : Planned
- Clean the source ! : Permanent
- Correct the AOS bug of the virtualgroup which
prevents the user from selecting text on the right
view or from clicking on arrows when the left
virtgroup is too large : investigation needed

--------------------------------------------------------------------------
CONTACT
--------------------------------------------------------------------------

Author : Stephane SARAGAGLIA steff.amiga _at_ saragaglia _dot_ net
OS4 Port : Alexandre BALABAN abalaban _at_ free _dot_ fr
web site : http://aurora.gotdns.org/amiga

--------------------------------------------------------------------------
HISTORY
--------------------------------------------------------------------------
MuiDiff_V0_01 : Now this proto use the TextEditor gadget... Nothing works but the GUI...
MuiDiff_V0_02 : Comments + changed gadgets from labels to text. Now the window can be resized.
AMuiDiff_V0_03 : Heavy changes : Morphos + return of TextEditor + highlit management + ...
AMuiDiff_V0_04 : Heavy changes : . Source files renamed
. Nb diffs displayed
. File name displayed in buttons
. Color management regarding add, del, or changes diffs
AMuiDiff_V0_05 : 21 April 2003 : Added Cycle management to go to diff pos in the view buffer...
Smart layout is stil missing
AMuiDiff_V0_06 : 21 April 2003 : Cycle management now handles a better "jump to" layout
AMuidiff now uses SSToolLib library
AMuiDiff_V0_07 : 4 May 2003 : Major cleanings
AMuidif now uses SSTooLib functions
AMuiDiff_V0_08 : 10 May 2003 : Major Modifications : View buffer is now allocated correctly ;)
Modification not fully working about managing nb cols and auto-wrapping
AMuiDiff_V0_09 : 11 May 2003 : Log management when compiled in DEBUG mode.
Sliders are dependant when diffed, independant when not.
First version provided to a beta tester : fab1
AMuiDiff_V0_10 : 16 May 2003 : Added the about window
Corrected a relative to absolute path to prevent the GG: diff to bug
with "$ amuidiff //src/toto.c //////////toto.c" (files beginning with "/")
AMuiDiff_V0_11 : 18 May 2003 : Added the binary file management (in fact error management with not decoded
diff result file).
The view automatically jumps to the first diff
Added double-quote after and before file names when invoking the diff
command to prevent from space caracter problems...
AMuiDiff_V0_12 : 25 May 2003 : Now compiles as well for AmigaOS 68k
AMuiDiff_V0_13 : 21 June 2003 : Now handle catalogs
AMuiDiff_V0_15 : 29 Sept 2003 : New catalog management : builtin = english
Corrected some minor bugs
Added drag'n'drop to load files
Added SwapStack for MOS version (AOS to check)
AMuiDiff_V0_16 : 15 Nov 2003 : The user can now swap files between views
The stack issue now works as well for AOS/68k
The requester has now path memory ;)
The default view size is larger beacause of my new tft screen. It should not be a problem for others...
New toolbar for open and swap buttons :)
Cycle button displays now line numbers for both 1st and 2nd view
AMuiDiff_V0_17 : 15 Jan 2004 : Requesters and Toolbar debug
AMuiDiff_V0_18 : 15 Jan 2004 : New Reload system by buttons : if modified externally file is reloaded.
Now 2 requesters, one for each view, with path memory.
New StackSwap system. AOS was suffering from this lack, because Amuidiff uses more than 4Ko (#5.5Ko)
New Toolbar management. The last was no more working with AOS version of Amuidiff.
New file notification system. When a file is externally modified, the file view bottom shine. The Reload button permits to reload it.
An external editor can be called for each file.
A lot of minor bugs corrected.
AMuiDiff_V0_19 : 13 Mar 2004 : The used editor now depends on the env:AMuiDiff/EDITOR configuration. Default is golded:golded
The path is now correctly set in order to call "diff" cmd, when AMuiDiff is launched from WB.
The env:AMuiDiff/FIXEDFONT var, if set to TRUE, now makes AMuiDiff use fixed font for the view (TextEditor)
The AOS version was opening an empty console when opened from WB when calling diff command. I have replaced the system() invokation bny a Execute() one.
AMuiDiff_V0_20 : 13 Mar 2004 : The stack was set to 8KB : not enough for MOS. The stack is now 16KB.
The view files was open in read/write mode, so files could not be opened from cdroms. Now files are opened in read only mode.
AMuiDiff_V0_21 : 14 Mar 2004 : The built PATH from WB was freed twice, one by system(), and another time by me...
There were problems editing files with spaces in path...
AMuiDiff_V0_22 : 20 Mar 2004 : Bottom file buttons replaced by string gadget + popup button
When a new file is opened, "nb diffs" text gadget and cycle gadget are reset.
The notification of a modified file is no more the shine of the botton button, but a selected state of the "reload" button.
AMuiDiff_V1_00 : 21 Mar 2004 : Time to pass to version 1.0. Next modifications will be the merge function.
AMuiDiff_V1_0b : 02 Jun 2005 : Port to AmigaOS4 by Alexandre BALABAN.

Changes by Thomas Igracki for the MorphOS version:
31-Okt-2017
core/AMD_Gui.cpp:
chg: there is now only one slider inbetween the TextEditor objects

16-Mai-2018, bumped to v1.1
core/AMD_Gui.cpp:
chg: deactivated using of MUIA_TextEditor_Columns, because otherwise the
width of the window couldn't be saved to a wider width!

18-Aug-2018
core/AMD_Main.cpp:
chg: Changed AMD_STACKSIZE from 16384 to 32768

17-Feb-2025
libs/SSCToolLib/SSStrLib.c
fix: fixed a typo in ss_strdup5(), the strlen was incremented by str4
instead of str5!
This finally fixes MUNGWALL hits
core/AMG_Gui.cpp:
fix: tried to fix the bug, that the slider doesn't moves to the position
if you jump to a diff with the cycle gadget
its a bit better, but not fully;(

24-Feb-2025
core/AMD_Main.cpp
chg: the default editor for the MorphOS build is now sys:Applications/FlowStudio/FlowStudio
[suggested by Yannick Buchy]
core/AMD_Gui.cpp, Makefile
new: added a COMPILE_DATE def in Makefile and use it for AMD_DATE
so its automatically the date when compiled
core/AMD_DiffCmdWrapping.cpp
chg: also use SystemTags() if started from shell, this shows a error msg, if "diff" wasn't found
[reported by Yannick Buchy]

25-Feb-2025
core/AMD_Gui.cpp|h, core/AMD_Main.cpp
new: added a posibility to call the Editor with the linenumber of the current diff
You have to do this before: SetEnv SAVE AMuiDiff/EDITOR s:StartFlowStudio
and copy s/StartFlowStudio to s:

02-Mar-2025
core/AMD_Main.cpp
fix: don't call the Editor, if there is no file loaded
new: added a new env-var env:AMuiDiff/EDWITHLINE, set it to the argument which is needed to specify the line number,
can be empty if EDITOR is set to S:StartFlowStudio script
With this env-var set, the editor will be started with the line of the current diff

Upload Date:Mar 07 2025
Category:Text/Compare
Download:AMUIDiff_1.2.lha
Md5:3d6bc6838b978f64e39547d6a2d3fb41
Size:131 KB
Downloads:115
Screenshot(s)
 
History
Last Comments