For many users you’ll only ever have the one instance of Aras Innovator, and when you have a package or codetree change you’ll only have one at a time. In those circumstances, it’s easy to keep track of where things are and what’s happening. As an administrator and advanced user however, you’ll sometimes have multiple packages, codetree folders, or even entire instances installed. In those circumstances, you want a quick way to tell them apart and discover what the differences are.
In this article, we’ll discuss some tools for differentiating similar files and folders.
File Compare and Files
Here in Labs, we often have a dozen instances of Aras Innovator on our computers, many of them configured in unusual ways. When we install a new instance sometimes we want to set it up mostly like an existing instance. When we come back to an old instance, sometimes we need to remind ourselves what changes we made. In both cases, the windows File Compare utility is invaluable.
The syntax for the File Compare command (or FC command) is simple. “fc adam.txt bella.txt” will show you the differences between the Adam file and the Bella file. If you wish to compare the files in two different folders, then you run “fc Boston\* Tokyo\*” to compare any files in the Boston folder to any files in the Tokyo folder, one after the other. There are a number of options and toggles you can use, and if you end up making heavy use of FC it may be worth reading through the documentation page for it. (https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fc) Like any command line utility, you can access it by the following steps:
- Press the windows key and the R key simultaneously.
- Type “cmd” and hit enter.
- In the new window, type “cd” and then the complete path to the files or folders you wish to analyze. In this example, the innovator instances are in C:\Program Files (x86)\Aras. Hit enter.
- Type the fc command. In our example, we have two Aras Innovator instances, called 12SP9b and 12SP9c. To compare their InnovatorServerConfig files, we run “fc 12SP9b\ InnovatorServerConfig.xml 12SP9c\ InnovatorServerConfig.xml”
Take a look at the output. Here, you have a list of differences between the two files.
This is quick, and is available as part of a normal windows installation. It’s not the easiest to visualize however, and there are more powerful tools available.
Beyond Compare and Codetrees
Codetrees are larger than the simple configuration files, and often the presence or absence of files is more complex. Things change names, or move from one directory to another. Comparing an entire codetree in FC would be arduous, but we don’t have to do that. While many tools more powerful than FC exist, Beyond Compare is a favorite of Labs. Here’s the InnovatorServerConfig.xml comparison from above, now shown in Beyond Compare:
More significantly, Beyond Compare can show you the side by side layout of your folder structures. To compare an entire codetree, follow the steps below.
- Open BeyondCompare.
- You’ll be asked what you’re comparing. Choose Folder Compare.
- You’ll see two side by side panes, each with a few folder icons near the top. [TODO: Folder icon] Click that, then navigate to the first of your codetree folders.
- On the other pane, you’ll see the same icon again. Click it, and navigate to the second codetree folder.
Now you should see the structure laid out before you. Highlights in red mean there are differences within the file. Highlights in purple mean that there are files or folders which only exist on one side. Highlights in black indicate that the two sides are the same.
This makes it quick and easy to drill down to the differences, making sure that the things changed are things you mean to change. Beyond Compare is far from the only software to fill this role, and you or your organization may be more inclined to use something like WinMerge or Meld or something else entirely. Of particular note is one more application, whose use is widespread within the technical community
Git and Histories
Git is more than for file comparison. Git is generally used as version control, ensuring that you or your organization can keep track of changes to a system that are made over time. It’s often used as an undo button that works on a much larger scale. For our purposes today however, Git is notable for its ability to compare a folder to itself across different times.
Please note: Most changes to an Aras Innovator instance will happen within the database, which has its own tools for making backups. In fact, this is a strength of Aras Innovator, a result of the power and breadth offered by in-system methods and configuration. Still, we don’t advise using Git to commit or revert database changes.
The key to this comparison is the git diff command. Much like File Compare, it compares two files. Unlike file compare, you also need to specify when you’re comparing to. “git diff version2 somefolder/somefile.txt somefolder/somefile.txt” is a simple example, where you compare the current version of somefile.txt against version2. What does that look like in use?
Oh, and just for completeness: git diff can also be used to compare any two files.
Conclusions and Congratulations
Now you know three tools for comparing files and folders. Some are simple command line instructions, and some are full graphical user interfaces. They can be used for single files or for entire directories, and one can even compare across time. As you work with codetrees and with files, keep these utilities in mind, and let us know in the comments below any options or setups you find particularly useful!