diff --git a/Documentation/RelNotes/1.8.2.1.txt b/Documentation/RelNotes/1.8.2.1.txt
index 23977562a93..b4cf3cccde5 100644
--- a/Documentation/RelNotes/1.8.2.1.txt
+++ b/Documentation/RelNotes/1.8.2.1.txt
@@ -66,3 +66,6 @@ Fixes since v1.8.2
    to file scope static, but a few functions in graph.c were used by
    CGit from sideways bypassing the entry points of the API the
    in-tree users use.
+
+ * "git merge-tree" had a typo in the logic to detect d/f conflicts,
+   which caused it to segfault in some cases.
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 24a99ccc992..05f82973687 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -137,6 +137,8 @@ OPTIONS
 -m <msg>::
 --message=<msg>::
 	Use the given <msg> as the commit message.
+	If multiple `-m` options are given, their values are
+	concatenated as separate paragraphs.
 
 -t <file>::
 --template=<file>::
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index c9757432309..24ab07a3f8f 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -218,7 +218,7 @@ $ git merge origin/next
 ------------------------------------------------
 
 
-If you tried a pull which resulted in a complex conflicts and
+If you tried a pull which resulted in complex conflicts and
 would want to start over, you can recover with 'git reset'.
 
 
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index e0d0b7d28b9..bc912e399ef 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -245,7 +245,7 @@ static void unresolved(const struct traverse_info *info, struct name_entry n[3])
 	unsigned dirmask = 0, mask = 0;
 
 	for (i = 0; i < 3; i++) {
-		mask |= (1 << 1);
+		mask |= (1 << i);
 		if (n[i].mode && S_ISDIR(n[i].mode))
 			dirmask |= (1 << i);
 	}