
On 07/06/2007, at 21:46, Phil Richards wrote:
On Thu, 07 Jun 2007 10:21:10 -0400, David Abrahams wrote:
Yeah; I get the impression that GIT even deals correctly with fragments of code moving across files.
I believe that that impression is incorrect. Because GIT tracks file state only (no explicit rename or copy tracking), it use a similarity comparison between states to try and identify when a rename actually occurred so it can track the "history" of content. If a fragment is moved, the similarity check will not identify that fragment. The two files will end up being viewed as completely independent by all parts of GIT including the merge algorithms.
I would like to point out that recent (FSVO recent) versions of Monotone (those with "rosters" support) have complete support to track everything, which includes renames, moves and changes to directories. -- Julio M. Merino Vidal <jmmv84@gmail.com>