path: root/Documentation
diff options
authorJonathan Nieder <>2010-08-05 11:32:41 (GMT)
committerJunio C Hamano <>2010-08-06 16:20:02 (GMT)
commit7610fa57e63b0acc0a66717fc2d85755634db591 (patch)
tree068161cdd6ca96746439efda939c4d15beba190d /Documentation
parentff8ba59e7b015ba96d6a3271000f16aa71dc4a6f (diff)
merge-recursive --renormalize
Teach "git merge-recursive" a --renormalize option to enable the merge.renormalize configuration. The --no-renormalize option can be used to override it in the negative. So in the future, you might be able to, e.g.: git checkout -m -Xrenormalize otherbranch or git revert -Xrenormalize otherpatch or git pull --rebase -Xrenormalize The bad part: merge.renormalize is still not honored for most commands. And it reveals lots of places that -X has not been plumbed in (so we get "git merge -Xrenormalize" but not much else). NEEDSWORK: tests Cc: Eyvind Bernhardsen <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index a5bc1db..049313d 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -40,6 +40,18 @@ the other tree did, declaring 'our' history contains all that happened in it.
This is opposite of 'ours'.
+ This runs a virtual check-out and check-in of all three stages
+ of a file when resolving a three-way merge. This option is
+ meant to be used when merging branches with different clean
+ filters or end-of-line normalization rules. See "Merging
+ branches with differing checkin/checkout attributes" in
+ linkgit:gitattributes[5] for details.
+ Disables the `renormalize` option. This overrides the
+ `merge.renormalize` configuration variable.
This option is a more advanced form of 'subtree' strategy, where
the strategy makes a guess on how two trees must be shifted to