ls-tree: resurrect '-d' to mean 'show trees only'
With this: git-ls-tree -d HEAD -- drivers/net/ shows only immediate subtrees of drivers/net. git-ls-tree -d -t HEAD -- drivers/net/ shows drivers, drivers/net and immediate subtrees of drivers/net. git-ls-tree -d -r HEAD -- drivers/net/ shows drivers, drivers/net and all subtrees of drivers/net (but not blobs). Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
0f8f45cb4a
commit
f59846718e
@ -61,6 +61,8 @@ static int show_tree(unsigned char *sha1, const char *base, int baselen, const c
|
||||
}
|
||||
type = "tree";
|
||||
}
|
||||
else if (ls_options & LS_TREE_ONLY)
|
||||
return 0;
|
||||
|
||||
printf("%06o %s %s\t", mode, type, sha1_to_hex(sha1));
|
||||
write_name_quoted(base, baselen, pathname, line_termination, stdout);
|
||||
@ -95,6 +97,10 @@ int main(int argc, const char **argv)
|
||||
}
|
||||
argc--; argv++;
|
||||
}
|
||||
/* -d -r should imply -t, but -d by itself should not have to. */
|
||||
if ( (LS_TREE_ONLY|LS_RECURSIVE) ==
|
||||
((LS_TREE_ONLY|LS_RECURSIVE) & ls_options))
|
||||
ls_options |= LS_SHOW_TREES;
|
||||
|
||||
if (argc < 2)
|
||||
usage(ls_tree_usage);
|
||||
|
Loading…
Reference in New Issue
Block a user