summaryrefslogtreecommitdiff
path: root/Documentation/merge-strategies.txt
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'rr/doc-merge-strategies'Junio C Hamano2014-03-251-2/+2
|\ | | | | | | | | * rr/doc-merge-strategies: Documentation/merge-strategies: avoid hyphenated commands
| * Documentation/merge-strategies: avoid hyphenated commandsrr/doc-merge-strategiesRamkumar Ramachandra2014-03-171-2/+2
| | | | | | | | | | | | | | | | Replace git-pull and git-merge with the corresponding un-hyphenated versions. While at it, use ` to mark it up instead of '. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | docs/merge-strategies: remove hyphen from mis-mergesAlbert L. Lash, IV2014-02-111-1/+1
| | | | | | | | | | | | | | | | | | The term mismerges without hyphen is used a few other places in the documentation. Let's update this to be consistent. Signed-off-by: Albert L. Lash, IV <alash3@bloomberg.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation: document pitfalls with 3-way mergebc/doc-merge-no-op-revertbrian m. carlson2013-12-091-0/+8
|/ | | | | | | | | | Oftentimes people will make the same change in two branches, revert the change in one branch, and then be surprised when a merge reinstitutes that change when the branches are merged. Add an explanatory paragraph that explains that this occurs and the reason why, so people are not surprised. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-merge(1): document diff-algorithm option to merge-recursiveJohn Keeping2013-04-051-0/+6
| | | | | | | | | Commit 07924d4 (diff: Introduce --diff-algorithm command line option 2013-01-16) added diff-algorithm as a parameter to the recursive merge strategy but did not document it. Do so. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* merge: teach -Xours/-Xtheirs to binary ll-merge driverJunio C Hamano2012-09-081-1/+2
| | | | | | | | | | | | The (discouraged) -Xours/-Xtheirs modes of merge are supposed to give a quick and dirty way to come up with a random mixture of cleanly merged parts and punted conflict resolution to take contents from one side in conflicting parts. These options however were only passed down to the low level merge driver for text. Teach the built-in binary merge driver to notice them as well. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'kb/merge-recursive-rename-threshold'Junio C Hamano2010-10-261-0/+4
|\ | | | | | | | | | | | | | | | | | | * kb/merge-recursive-rename-threshold: diff: add synonyms for -M, -C, -B merge-recursive: option to specify rename threshold Conflicts: Documentation/diff-options.txt Documentation/merge-strategies.txt
| * merge-recursive: option to specify rename thresholdKevin Ballard2010-09-291-0/+4
| | | | | | | | | | | | | | | | | | The recursive merge strategy turns on rename detection but leaves the rename threshold at the default. Add a strategy option to allow the user to specify a rename threshold to use. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'jf/merge-ignore-ws'Junio C Hamano2010-10-261-0/+22
|\ \ | |/ | | | | | | | | | | | | * jf/merge-ignore-ws: merge-recursive: options to ignore whitespace changes merge-recursive --patience ll-merge: replace flag argument with options struct merge-recursive: expose merge options for builtin merge
| * merge-recursive: options to ignore whitespace changesJustin Frankel2010-08-271-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for merging with ignoring line endings (specifically --ignore-space-at-eol) when using recursive merging. This is as a strategy-option, so that you can do: git merge --strategy-option=ignore-space-at-eol <branch> and git rebase --strategy-option=ignore-space-at-eol <branch> This can be useful for coping with line-ending damage (Xcode 3.1 has a nasty habit of converting all CRLFs to LFs, and VC6 tends to just use CRLFs for inserted lines). The only option I need is ignore-space-at-eol, but while at it, include the other xdiff whitespace options (ignore-space-change, ignore-all-space), too. [jn: with documentation] Signed-off-by: Justin Frankel <justin@cockos.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * merge-recursive --patienceJustin Frankel2010-08-261-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the merge-recursive strategy a --patience option to use the "patience diff" algorithm, which tends to improve results when cherry-picking a patch that reorders functions at the same time as refactoring them. To support this, struct merge_options and ll_merge_options gain an xdl_opts member, so programs can use arbitrary xdiff flags (think "XDF_IGNORE_WHITESPACE") in a git-aware merge. git merge and git rebase can be passed the -Xpatience option to use this. [jn: split from --ignore-space patch; with documentation] Signed-off-by: Justin Frankel <justin@cockos.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Use angles for placeholders consistentlyŠtěpán Němec2010-10-081-1/+1
|/ | | | | | Signed-off-by: Štěpán Němec <stepnem@gmail.com> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* merge-recursive --renormalizeJonathan Nieder2010-08-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <eyvind.bernhardsen@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Document that merge strategies can now take their own optionsJunio C Hamano2010-01-171-1/+28
| | | | | | | | Also document the recently added -Xtheirs, -Xours and -Xsubtree[=path] options to the merge-recursive strategy. Signed-off-by: Avery Pennarun <apenwarr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: clarify 'ours' merge strategyThomas Rast2009-11-151-2/+3
| | | | | | | | | | | Make it clear in the docs that the merge takes the tree of HEAD and ignores everything in the other branches. This should hopefully clear up confusion, usually caused by the user looking for a strategy that resolves all conflict hunks in favour of HEAD (which is completely different and currently not supported). Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Grammar fixes to "merge" and "patch-id" docsWincent Colaiuta2009-03-251-7/+7
| | | | | Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation/git-merge: document subtree strategy.Miklos Vajna2008-03-191-0/+7
| | | | | | | | There was already some documentation about subtree under Documentation/howto but it was missing from git-merge manpage. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: recursive is the default strategy these days.Junio C Hamano2005-12-081-5/+5
| | | | | | We still said resolve was the default in handful places. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Refactor merge strategies into separate includable file.Jon Loeliger2005-11-061-0/+35
Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Junio C Hamano <junkio@cox.net>