Do not use date.c:tm_to_time_t() from compat/mingw.c
[gitweb.git] / builtin-read-tree.c
index f5acb1aa93ef7b223011c50486df71b785049982..50413ca17df294a8b10dd406db55a24cf601bb55 100644 (file)
@@ -110,18 +110,20 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
 
        git_config(git_default_config, NULL);
 
-       newfd = hold_locked_index(&lock_file, 1);
-
        argc = parse_options(argc, argv, unused_prefix, read_tree_options,
                             read_tree_usage, 0);
 
-       if (read_cache_unmerged() && (opts.prefix || opts.merge))
-               die("You need to resolve your current index first");
+       newfd = hold_locked_index(&lock_file, 1);
 
        prefix_set = opts.prefix ? 1 : 0;
        if (1 < opts.merge + opts.reset + prefix_set)
                die("Which one? -m, --reset, or --prefix?");
-       stage = opts.merge = (opts.reset || opts.merge || prefix_set);
+
+       if (opts.reset || opts.merge || opts.prefix) {
+               if (read_cache_unmerged() && (opts.prefix || opts.merge))
+                       die("You need to resolve your current index first");
+               stage = opts.merge = 1;
+       }
 
        for (i = 0; i < argc; i++) {
                const char *arg = argv[i];