Diff tool (for revision control) - VisualCron - Forum

Community forum

rprastein
2016-05-11T07:15:14Z
It would be nice to have a feature where you could take 2 jobs (or 2 tasks, or 2 conditionsets, or 2 of any like-type objects, or 2 whole servers) and do an editable diff of them. I would find this useful for proofreading my environment-dependent or for-testing-only variants of very similar jobs or tasks, and for revision control.

In my ideal diff tool, the presentation would be mostly text, arranged hierarchically, with object attributes and child objects indented from their parent object (no tabs and mostly no popup windows, with the possible exception of when comparing multiline fields). There would be the ability to expand/hide child objects, color coding of same/different/orphan nodes, perhaps some indication if the only difference in a node is an ID or a creation timestamp (or an ability to define fields to be ignored for diff purposes). Each node would have a one-click sync option where the user could choose the direction of the sync, and there would also be the ability to select/copy/paste or to directly edit values on either side. For nodes that take multiline text strings, such as e-mail body or SQL query fields, there could be a call to a user-defined text diff program to do the multi-line diff. There would be an indicator if a value was "dirty" (changed but not yet saved). It would be possible to compare two objects of the same type from within the VisualCron GUI, or to compare two exported XML files, or to compare a live server against an exported XML file. It would be OK if the implementation for comparison of a live server required exporting it first and manipulating the XML files, and then importing the changed file when done. There would be undo capability both of unsaved changes and (less important) of saved changes.

I'm not a .NET programmer; I don't see this as a small request, and I don't know how many other people would be interested in such a capability. I have seen something similar in concept done for comparing Oracle Forms source code (which is stored in binary files) by a company called ORCL Toolbox, and it was very handy for keeping on top of multiple developers modifying object-oriented files that weren't well-suited to simple text compare and edit/merge in Beyond Compare.

Rebeccah
Support
2016-05-11T09:51:42Z
Have you looked at the Versions diff tool in VisualCron which compare changes in one Object of any type? It cannot compare two different objects but maybe the tool does, in general, what you want when thinking about how they are compared?
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
rprastein
2016-05-11T23:17:26Z
No, I didn't know such a thing existed. Where do I find it? Is it new? (That is, new since version 5.7.8 :0))

Thanks,

Rebeccah
rprastein
2016-05-11T23:26:07Z
The Help mentions a Versions window, maybe it's supposed to be on the Tools tab? But I don't see it in version 8.1.0, nor in version 8.0.0. The Help is from version 7.something, I think.

Rebeccah
IQSInvTech
2016-06-02T09:36:59Z
A diff tool would be very helpful indeed. As a work around one could compare serialized XML files with a established text comparing tool. I tried this, but unfortunately job state like last run time and number of runs is serialized together with the jobs. This makes it hard(er) to identify the changes that really matter. An idea would be to separate the serialization of state from the definition part.
IQSInvTech
2016-06-02T15:39:13Z
The diff tool mentioned is contained in the Audit Log by the way. This is based on the XML diff, too, of course. So, when you search for all update-diffs of a job for example, you will get a diff for every state change.

I would like to request the option, to leave out all state* changes in this diff. This would allow to focus on real changes of settings.
rprastein
2016-06-02T19:16:51Z
Thank you, IQSInvTech, now I see it.

Henrik, what I'm thinking of is really I guess more of a merge tool - although, if the XML files were standardized (such as sorting elements so they are consistently ordered) and had run status information separated out into their own elements on separate lines, that alone would be a tremendous improvement, because then I could use BeyondCompare to do most of what I want.

Here is a screenshot of the diff tool for Oracle Forms that I was talking about, comparing two .fmb (Oracle Forms binary source code) files:
ORCL Toolbox Developer Compare feature
I don't like their "old module"/"new module" labeling convention (I'd prefer the actual filenames of the files being compared), but other than that the user interface is very friendly. Note the hierarchical organization (you can collapse and expand nodes). It's easy to see what has changed, and you can show or hide unchanged nodes. And you can either synchronize a node (copy or delete) from one file to another in either direction with one click or edit the values in either file, directly in the UI.

Rebeccah
Scroll to Top