rebase: consistent error messages for staged and unstaged changes.
[gitweb.git] / hash-object.c
index 37e66779ab9e14dbe5b5416d0e19b04d7f122d52..9455dd0709aeb81436ef2e3e36422578d66ce8e7 100644 (file)
@@ -29,7 +29,7 @@ static void hash_object(const char *path, const char *type, int write_object,
        int fd;
        fd = open(path, O_RDONLY);
        if (fd < 0)
-               die("Cannot open %s", path);
+               die_errno("Cannot open '%s'", path);
        hash_fd(fd, type, write_object, vpath);
 }
 
@@ -84,9 +84,8 @@ int main(int argc, const char **argv)
 
        git_extract_argv0_path(argv[0]);
 
-       git_config(git_default_config, NULL);
-
-       argc = parse_options(argc, argv, hash_object_options, hash_object_usage, 0);
+       argc = parse_options(argc, argv, NULL, hash_object_options,
+                            hash_object_usage, 0);
 
        if (write_object) {
                prefix = setup_git_directory();
@@ -95,6 +94,8 @@ int main(int argc, const char **argv)
                        vpath = prefix_filename(prefix, prefix_length, vpath);
        }
 
+       git_config(git_default_config, NULL);
+
        if (stdin_paths) {
                if (hashstdin)
                        errstr = "Can't use --stdin-paths with --stdin";