Differences between revisions 29 and 30
Revision 29 as of 2013-06-10 12:49:33
Size: 3541
Editor: KaiJaeger
Comment: New version
Revision 30 as of 2018-03-03 11:50:34
Size: 104
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
~-<<SeeSaw(section="table-of-contents", show="true", seesaw="false", toshow="<<(Show>> table-of-contents)", tohide="<<(Hide>> table-of-contents)", speed="Slow")>>-~
<<TableOfContents>>

`Compare` is part of the CategoryAplTree project.

== Overview ==

`Compare` offers a couple of methods designed to compare functions, operators, scripts and files. It is also able to deal with SALTed files as well as `acre` component files. Since version 3.0 `Compare` inherits from the then created class `CompareSimple`. It therefore offers the same methods as `CompareSimple`. Additionally it offers a Merge feature.

== Methods ==

There are three main functions:

=== Match (inherited from CompareSimple) ===

`Match` takes names of functions or operators or scripts and compares the source code. Note that taking the source code with `⎕CR` or `⎕SRC` and then `≡` them is not always going to work: white spaces as well as formatting problems might result in a 0 when the source code is in fact identicall. `Match` deals with these problems properly.

=== These (inherited from CompareSimple) ===

`These` accepts a varity of arguments listed underneath. According to its arguments it tries to figure out what your intention is and carries out the appropriate action.

==== Script / Script ====
Compare the two scripts. Note that you can specify name(s) as well as reference(s).

==== Script / name of a *.dyalog file ====
Compare the workspace script with the file.

==== Script ====
This syntax requeires "Script" to be a SALTed script. In that case the workspace script is compared with its SALTed source file.

==== Name of a native file / name of a native file ====
Compare the two files.

==== Function name / function name ====
Compare two functions in the workspace.

==== Function name / name of a native file ====
Compare the function in the workspace with the file.

==== Function name / name of an `acre` component file ====
Compare the function in the workspace with the `acre` component file.

==== Function name ====
 If there is an `acre` component file holding that function the workspace version is compared with any of the components.

==== Namespace / namespace ====
Use method `Merge` for this.

=== Merge ===

Although this method works "only" on (named!) namespaces one can effectively use it to compare and merge workspaces by copying the two workspaces into two separate namespaces.

The `Merge` method presents a GUI with all the information one needs to know in order to perform the merge. Note that all functions, operators and scripts that do equal are on the `=` tab while all the others are on the `≠` tab. Normally one is interested only in the `≠` tab:

{{attachment:Merger.png}}

There are methods available that makes it easy to compare, modify, delete (either from the GUI or the workspace) and move functions, operators and scripts from one namespace to the other:

{{attachment:ContextMenu.png}}

With version 3.2 a "Rubbish report" was added. This report lists all sort of stuff that is by many considered to be something that should not saved with a workspace. This is just an example:

{{attachment:RubbishReport.png}}

== Project Page ==

For bug reports, future enhancements and a full version history see [[Compare/ProjectPage]]

== Version Information ==
||Original author: || KaiJaeger ||
||Responsible: || KaiJaeger ||
||Email: || kai@aplteam.com ||

<<Include(APLTreeDownloads)>>

----
CategoryAplTree
The project has been relocated to [[https://github.com/aplteam/Compare]] on 2018-03-03.

Compare

The project has been relocated to https://github.com/aplteam/Compare on 2018-03-03.

Compare (last edited 2018-03-03 11:50:34 by KaiJaeger)