You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Apache subversion Wiki <co...@subversion.apache.org> on 2013/01/17 02:49:45 UTC
[Subversion Wiki] Update of "FileMerge" by JulianFoad
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.
The "FileMerge" page has been changed by JulianFoad:
http://wiki.apache.org/subversion/FileMerge
New page:
= How Subversion Merges a File =
This page is an attempt to formalize how Subversion merges changes to a single file. It aims to cover the user-visible aspects, and include details such as:
* 'binary' file
* keyword expansion
* eol-style
* no-op change
* UI notification
* the merge during an update
== File Merge - General Definition ==
* 3 "node-versions" are involved: "left", "right", "target".
* All node-versions "live at" the same WC path.
* Node kind is 'file' for all node-versions involved.
* The file has "props" and "text"; both are merged.
* Props are merged independently, but text merge depends on the props.
A 3-way diff style of merge is used, for both props and text. (The fact that "left" might not be the youngest common ancestor is not taken into account. The "4-way diff" aka "variance-adjusted patching" technique is not used.)