From 93fea46af6e89b6e0dc32e8598e79929d80973cd Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Thu, 3 Jan 2013 20:08:24 -0500 Subject: Git can merge structural changes, kind of --- wiki/dev/merging-structural-changes.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'wiki/dev/merging-structural-changes.md') diff --git a/wiki/dev/merging-structural-changes.md b/wiki/dev/merging-structural-changes.md index 0c3970f..f597d39 100644 --- a/wiki/dev/merging-structural-changes.md +++ b/wiki/dev/merging-structural-changes.md @@ -76,3 +76,10 @@ diagram above shows how [Mercurial](http://www.selenic.com/mercurial/) handles the same two tests. Since its changeset language does include an "object moved" primitive, it's able to take a content change for `dir-a/file` and apply it to `dir-b/file` if appropriate. + +## Git + +Git also gets this scenario right, _usually_. Unlike Mercurial, Git does not +track file copies or renames in its commits at all, prefering to infer them by +content comparison every time it performs a move-aware operation, such as a +merge. -- cgit v1.2.3