Using DiffFiles as external diff tool for SVN?
Oxygen general issues.
-
- Posts: 10
- Joined: Tue Aug 24, 2010 6:49 pm
Using DiffFiles as external diff tool for SVN?
Is it possible to use DiffFiles as a more intelligent, XML-aware, external diff tool with SVN when committing files? Since Oxygen is already integrated with SVN, I'd like to use Oxygen's XML diff tool to do a better diff on XML files.
How good is Oxygen's XML diff tool at understanding what text-based changes are significant, and which are different, but equivalent?
Thanks,
Marc
How good is Oxygen's XML diff tool at understanding what text-based changes are significant, and which are different, but equivalent?
Thanks,
Marc
-
- Posts: 2879
- Joined: Tue May 17, 2005 4:01 pm
Re: Using DiffFiles as external diff tool for SVN?
Hello,
It's possible to use DiffFiles for SVN, but it might not be practical. Even if it's XML-aware, DiffFiles is a two-way diff, while SVN uses a three way diff.
To clarify what's the difference:
- A two way diff compares file A with file B and reports the differences. It can't merge the two files automatically, because it doesn't have a base reference, so you have to do it manually.
- A three way diff can actually merge files automatically because there is a third file, a common ancestor of the two, and the diff can compare each file with that ancestor and determine what has been changed and what has been added/removed from each of the files that are compared in order to be merged. There is of course the situation where a real conflict appears (both files are modified in the same location relative to the base) and the automatic merge is not possible.
In practice, this means that while you can use DiffFiles to compare the files from a SVN repository, you will always have to merge them manually (one difference at a time) when doing so. In addition, if the file you have modified and want to commit/compare has also been modified in the repository, and you have a possible conflict, you will have to manually compare your file, first against the BASE, then against the incoming file, which is a cumbersome and error prone cycle.
If you want to test how this works, you can go to Options > Preferences, SVN > Diff, enable Compare with external application and browse for the DiffFiles application.
When you use the Compare actions from the contextual menu of the SVN tool, the external application will be invoked.
Regards,
Adrian
It's possible to use DiffFiles for SVN, but it might not be practical. Even if it's XML-aware, DiffFiles is a two-way diff, while SVN uses a three way diff.
To clarify what's the difference:
- A two way diff compares file A with file B and reports the differences. It can't merge the two files automatically, because it doesn't have a base reference, so you have to do it manually.
- A three way diff can actually merge files automatically because there is a third file, a common ancestor of the two, and the diff can compare each file with that ancestor and determine what has been changed and what has been added/removed from each of the files that are compared in order to be merged. There is of course the situation where a real conflict appears (both files are modified in the same location relative to the base) and the automatic merge is not possible.
In practice, this means that while you can use DiffFiles to compare the files from a SVN repository, you will always have to merge them manually (one difference at a time) when doing so. In addition, if the file you have modified and want to commit/compare has also been modified in the repository, and you have a possible conflict, you will have to manually compare your file, first against the BASE, then against the incoming file, which is a cumbersome and error prone cycle.
If you want to test how this works, you can go to Options > Preferences, SVN > Diff, enable Compare with external application and browse for the DiffFiles application.
When you use the Compare actions from the contextual menu of the SVN tool, the external application will be invoked.
Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ Artificial Intelligence (AI Positron Assistant add-on)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service