Sven Siemon, Technical Author, R&D Governance & Competence Partners, dSPACE GmbH
As software development is becoming faster, more complex, and distributed all over the world, most of our customers use a version control system like Git to accelerate development and ensure integrity. If you use a version control system, tracking and merging changes is vital for the success of your project. Git provides built-in commands that show changes between commits, branches, or files and merges them. Additional tools like Beyond Compare can be configured as an external utility to compare line-based differences in files. However, while line-based comparisons are useful for many use cases, there is an even better way to compare AUTOSAR files.
Figure 1: dSPACE AUTOSAR Compare uses a tree view to compare AUTOSAR files.
At dSPACE, we developed dSPACE AUTOSAR Compare to compare and merge AUTOSAR (ARXML) files. dSPACE AUTOSAR Compare makes comparisons easier and more convenient because it compares AUTOSAR files element by element, not line by line like other tools. This helps you find modified elements or even skip elements that only differ in specified properties, such as UUID, date, or time. A time-saver!
Figure 2: dSPACE AUTOSAR Compare suggests elements to be copied due to dependencies.
Merging with the element-based dSPACE AUTOSAR Compare approach has the same advantages over line-based merge tools: You can copy selected elements, subelements, and property values. In addition, dSPACE AUTOSAR Compare uses references to model dependencies between elements and suggests which dependent elements to copy as well.
Figure 3: Solving merge conflicts with dSPACE AUTOSAR Compare.
In our customer meetings, we were recently asked to integrate dSPACE AUTOSAR Compare with Git. Always seeking to improve user experience, we take your feedback seriously and are happy to announce that with Patch 1 for dSPACE AUTOSAR Compare 1.0, dSPACE AUTOSAR Compare can be integrated into Git and other version control systems. The setup for Git is the same as for any other third-party diff and merge tool. In general, you have to perform only three steps:
For detailed instructions on using dSPACE AUTOSAR Compare with Git, follow this link:
To inspect local changes that were made to a file, you can open a dSPACE AUTOSAR Compare session directly from the Git command line interface.
If you merge or rebase branches, Git first uses its own merge mechanism. It notifies you if a conflict occurs. The following three dSPACE AUTOSAR Compare sessions are then opened for you to solve the merge conflicts:
While sessions 1 and 2 are just for reference, session 3 is used to decide which version of the conflicting data to use. The name of session 3 contains information about the commits and branches that are involved in the merge conflict, e.g., HEAD <> path/of/other/branch. To solve the merge conflict, copy the correct data to the left-hand file, save the file, and close all sessions.
At dSPACE, we want you to be successful and we listen closely to your feedback. Our mission is to provide you with the best tools and user experience to get your work done swiftly. In this post, we showed you how we respond to your user feedback. Please do not to hesitate to contact us for feature requests.