Documentation: Move diff.<driver>.* from config.txt to diff-config.txt
[gitweb.git] / builtin / ls-files.c
index cf6ab034ffe2e0aeb1c676289ba96d2c616332fa..fb2d5f4b1fb0ce9ef2fb0c4099b5fea6d07b6838 100644 (file)
@@ -25,6 +25,7 @@ static int show_modified;
 static int show_killed;
 static int show_valid_bit;
 static int line_terminator = '\n';
+static int debug_mode;
 
 static const char *prefix;
 static int max_prefix_len;
@@ -162,6 +163,13 @@ static void show_ce_entry(const char *tag, struct cache_entry *ce)
                       ce_stage(ce));
        }
        write_name(ce->name, ce_namelen(ce));
+       if (debug_mode) {
+               printf("  ctime: %d:%d\n", ce->ce_ctime.sec, ce->ce_ctime.nsec);
+               printf("  mtime: %d:%d\n", ce->ce_mtime.sec, ce->ce_mtime.nsec);
+               printf("  dev: %d\tino: %d\n", ce->ce_dev, ce->ce_ino);
+               printf("  uid: %d\tgid: %d\n", ce->ce_uid, ce->ce_gid);
+               printf("  size: %d\tflags: %x\n", ce->ce_size, ce->ce_flags);
+       }
 }
 
 static void show_ru_info(void)
@@ -416,7 +424,7 @@ int report_path_error(const char *ps_matched, const char **pathspec, int prefix_
 }
 
 static const char * const ls_files_usage[] = {
-       "git ls-files [options] [<file>]*",
+       "git ls-files [options] [<file>...]",
        NULL
 };
 
@@ -518,9 +526,13 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
                OPT_STRING(0, "with-tree", &with_tree, "tree-ish",
                        "pretend that paths removed since <tree-ish> are still present"),
                OPT__ABBREV(&abbrev),
+               OPT_BOOLEAN(0, "debug", &debug_mode, "show debugging data"),
                OPT_END()
        };
 
+       if (argc == 2 && !strcmp(argv[1], "-h"))
+               usage_with_options(ls_files_usage, builtin_ls_files_options);
+
        memset(&dir, 0, sizeof(dir));
        prefix = cmd_prefix;
        if (prefix)