diff options
Diffstat (limited to 'ui-blob.c')
| -rw-r--r-- | ui-blob.c | 20 |
1 files changed, 8 insertions, 12 deletions
| @@ -19,7 +19,7 @@ struct walk_tree_context { | |||
| 19 | }; | 19 | }; |
| 20 | 20 | ||
| 21 | static int walk_tree(const struct object_id *oid, struct strbuf *base, | 21 | static int walk_tree(const struct object_id *oid, struct strbuf *base, |
| 22 | const char *pathname, unsigned mode, int stage, void *cbdata) | 22 | const char *pathname, unsigned mode, void *cbdata) |
| 23 | { | 23 | { |
| 24 | struct walk_tree_context *walk_tree_ctx = cbdata; | 24 | struct walk_tree_context *walk_tree_ctx = cbdata; |
| 25 | 25 | ||
| @@ -56,9 +56,9 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only) | |||
| 56 | goto done; | 56 | goto done; |
| 57 | if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT) | 57 | if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT) |
| 58 | goto done; | 58 | goto done; |
| 59 | read_tree_recursive(the_repository, | 59 | read_tree(the_repository, |
| 60 | repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), | 60 | repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), |
| 61 | "", 0, 0, &paths, walk_tree, &walk_tree_ctx); | 61 | &paths, walk_tree, &walk_tree_ctx); |
| 62 | 62 | ||
| 63 | done: | 63 | done: |
| 64 | free(path_items.match); | 64 | free(path_items.match); |
| @@ -92,10 +92,8 @@ int cgit_print_file(char *path, const char *head, int file_only) | |||
| 92 | type = oid_object_info(the_repository, &oid, &size); | 92 | type = oid_object_info(the_repository, &oid, &size); |
| 93 | if (type == OBJ_COMMIT) { | 93 | if (type == OBJ_COMMIT) { |
| 94 | commit = lookup_commit_reference(the_repository, &oid); | 94 | commit = lookup_commit_reference(the_repository, &oid); |
| 95 | read_tree_recursive(the_repository, | 95 | read_tree(the_repository, repo_get_commit_tree(the_repository, commit), |
| 96 | repo_get_commit_tree(the_repository, commit), | 96 | &paths, walk_tree, &walk_tree_ctx); |
| 97 | "", 0, 0, &paths, walk_tree, | ||
| 98 | &walk_tree_ctx); | ||
| 99 | if (!walk_tree_ctx.found_path) | 97 | if (!walk_tree_ctx.found_path) |
| 100 | return -1; | 98 | return -1; |
| 101 | type = oid_object_info(the_repository, &oid, &size); | 99 | type = oid_object_info(the_repository, &oid, &size); |
| @@ -151,10 +149,8 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl | |||
| 151 | 149 | ||
| 152 | if ((!hex) && type == OBJ_COMMIT && path) { | 150 | if ((!hex) && type == OBJ_COMMIT && path) { |
| 153 | commit = lookup_commit_reference(the_repository, &oid); | 151 | commit = lookup_commit_reference(the_repository, &oid); |
| 154 | read_tree_recursive(the_repository, | 152 | read_tree(the_repository, repo_get_commit_tree(the_repository, commit), |
| 155 | repo_get_commit_tree(the_repository, commit), | 153 | &paths, walk_tree, &walk_tree_ctx); |
| 156 | "", 0, 0, &paths, walk_tree, | ||
| 157 | &walk_tree_ctx); | ||
| 158 | type = oid_object_info(the_repository, &oid, &size); | 154 | type = oid_object_info(the_repository, &oid, &size); |
| 159 | } | 155 | } |
| 160 | 156 | ||
