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:
		@ -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);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user