summaryrefslogtreecommitdiff
path: root/builtin-ls-tree.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-01-25 01:52:05 +0100
committerJunio C Hamano <gitster@pobox.com>2009-02-07 12:14:34 -0800
commitd3bee161fef7820e83b44b899c531228a5546e87 (patch)
tree8d9d3d1beb916c3499045a2670cd8c0fd77a250c /builtin-ls-tree.c
parent621f1b4bcf40f1469fc59202248df35619e33c82 (diff)
downloadgit-d3bee161fef7820e83b44b899c531228a5546e87.tar.gz
tree.c: allow read_tree_recursive() to traverse gitlink entries
When the callback function invoked from read_tree_recursive() returns the value `READ_TREE_RECURSIVE` for a gitlink entry, the traversal will now continue into the tree connected to the gitlinked commit. This functionality can be used to allow inter-repository operations, but since the current users of read_tree_recursive() does not yet support such operations, they have been modified where necessary to make sure that they never return READ_TREE_RECURSIVE for gitlink entries (hence no change in behaviour should be introduces by this patch alone). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-ls-tree.c')
-rw-r--r--builtin-ls-tree.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/builtin-ls-tree.c b/builtin-ls-tree.c
index 5b63e6eada..fca46312f6 100644
--- a/builtin-ls-tree.c
+++ b/builtin-ls-tree.c
@@ -68,13 +68,8 @@ static int show_tree(const unsigned char *sha1, const char *base, int baselen,
*
* Something similar to this incomplete example:
*
- if (show_subprojects(base, baselen, pathname)) {
- struct child_process ls_tree;
-
- ls_tree.dir = base;
- ls_tree.argv = ls-tree;
- start_command(&ls_tree);
- }
+ if (show_subprojects(base, baselen, pathname))
+ retval = READ_TREE_RECURSIVE;
*
*/
type = commit_type;