diff options
| author | Owen Jacobson <owen.jacobson@grimoire.ca> | 2013-01-03 20:08:24 -0500 |
|---|---|---|
| committer | Owen Jacobson <owen.jacobson@grimoire.ca> | 2013-01-03 20:55:30 -0500 |
| commit | 93fea46af6e89b6e0dc32e8598e79929d80973cd (patch) | |
| tree | fff7dcaa9e1aa3d419d3fa08fcd5becede142e35 | |
| parent | 0fb4cb644d9408e44f4c5ab30a60700b0418f120 (diff) | |
Git can merge structural changes, kind of
| -rw-r--r-- | wiki/dev/merging-structural-changes.md | 7 |
1 files changed, 7 insertions, 0 deletions
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. |
