summaryrefslogtreecommitdiff
path: root/merge-recursive.c
diff options
context:
space:
mode:
authorJustin Frankel <justin@cockos.com>2010-08-26 00:51:47 -0500
committerJunio C Hamano <gitster@pobox.com>2010-08-27 10:08:50 -0700
commit4e5dd044c62f2a82de083e7cd46cad7b0d3465ae (patch)
tree69572d24b83de38c7b973b6a73022537ee651fe0 /merge-recursive.c
parent58a1ece478c6038a7eb0b6e494d563bd5e6d5978 (diff)
downloadgit-4e5dd044c62f2a82de083e7cd46cad7b0d3465ae.tar.gz
merge-recursive: options to ignore whitespace changes
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>
Diffstat (limited to 'merge-recursive.c')
-rw-r--r--merge-recursive.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/merge-recursive.c b/merge-recursive.c
index 3e67f8145f..9b9f97e6af 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -1515,6 +1515,12 @@ int parse_merge_opt(struct merge_options *o, const char *s)
o->subtree_shift = s + strlen("subtree=");
else if (!strcmp(s, "patience"))
o->xdl_opts |= XDF_PATIENCE_DIFF;
+ else if (!strcmp(s, "ignore-space-change"))
+ o->xdl_opts |= XDF_IGNORE_WHITESPACE_CHANGE;
+ else if (!strcmp(s, "ignore-all-space"))
+ o->xdl_opts |= XDF_IGNORE_WHITESPACE;
+ else if (!strcmp(s, "ignore-space-at-eol"))
+ o->xdl_opts |= XDF_IGNORE_WHITESPACE_AT_EOL;
else if (!strcmp(s, "renormalize"))
o->renormalize = 1;
else if (!strcmp(s, "no-renormalize"))