rev-parse: add --shared-index-path to get shared index path
[gitweb.git] / builtin / checkout-index.c
index aa922edf94f612240a9de4345a82e24718eefbe1..05edd9e1df52e63a1644cddc0fb0e6a0d764d90b 100644 (file)
@@ -14,7 +14,7 @@
 static int line_termination = '\n';
 static int checkout_stage; /* default to checkout stage0 */
 static int to_tempfile;
-static char topath[4][PATH_MAX + 1];
+static char topath[4][TEMPORARY_FILENAME_LENGTH + 1];
 
 static struct checkout state;
 
@@ -135,6 +135,7 @@ static int option_parse_u(const struct option *opt,
        int *newfd = opt->value;
 
        state.refresh_cache = 1;
+       state.istate = &the_index;
        if (*newfd < 0)
                *newfd = hold_locked_index(&lock_file, 1);
        return 0;
@@ -188,7 +189,7 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
                OPT__FORCE(&force, N_("force overwrite of existing files")),
                OPT__QUIET(&quiet,
                        N_("no warning for existing files and files not in index")),
-               OPT_BOOLEAN('n', "no-create", &not_new,
+               OPT_BOOL('n', "no-create", &not_new,
                        N_("don't checkout new files")),
                { OPTION_CALLBACK, 'u', "index", &newfd, NULL,
                        N_("update stat information in the index file"),
@@ -279,8 +280,7 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
                checkout_all(prefix, prefix_length);
 
        if (0 <= newfd &&
-           (write_cache(newfd, active_cache, active_nr) ||
-            commit_locked_index(&lock_file)))
+           write_locked_index(&the_index, &lock_file, COMMIT_LOCK))
                die("Unable to write new index file");
        return 0;
 }