bool recursive;
bool show_trees;
bool null_termination;
+ int max_depth;
const char **all_paths;
size_t all_paths_nr;
lm->rev.diffopt.flags.recursive = lm->recursive;
lm->rev.diffopt.flags.tree_in_recursive = lm->show_trees;
+ if (lm->max_depth >= 0) {
+ lm->rev.diffopt.flags.recursive = 1;
+ lm->rev.diffopt.max_depth = lm->max_depth;
+ lm->rev.diffopt.max_depth_valid = 1;
+ }
+
argc = setup_revisions(argc, argv, &lm->rev, NULL);
if (argc > 1) {
error(_("unknown last-modified argument: %s"), argv[1]);
N_("recurse into subtrees")),
OPT_BOOL('t', "show-trees", &lm.show_trees,
N_("show tree entries when recursing into subtrees")),
+ OPT_INTEGER_F(0, "max-depth", &lm.max_depth,
+ N_("maximum tree depth to recurse"), PARSE_OPT_NONEG),
OPT_BOOL('z', NULL, &lm.null_termination,
N_("lines are separated with NUL character")),
OPT_END()
};
+ /*
+ * Set the default of a max-depth to "unset". This will change in a
+ * subsequent commit.
+ */
+ lm.max_depth = -1;
+
argc = parse_options(argc, argv, prefix, last_modified_options,
last_modified_usage,
PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN_OPT);