summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/remote.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/builtin/remote.c b/builtin/remote.c
index 4e14891095..5e4ab66c26 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -309,8 +309,13 @@ static int config_read_branches(const char *key, const char *value, void *cb)
space = strchr(value, ' ');
}
string_list_append(&info->merge, xstrdup(value));
- } else
- info->rebase = git_config_bool(orig_key, value);
+ } else {
+ int v = git_config_maybe_bool(orig_key, value);
+ if (v >= 0)
+ info->rebase = v;
+ else if (!strcmp(value, "preserve"))
+ info->rebase = 1;
+ }
}
return 0;
}