]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-blob.c
git: update to v2.46.0
[ps-cgit] / ui-blob.c
index 7b6da2a491b83f08642ba1f32bcadb5d5d0224df..e554fe9c45f1e489c3109ec38204542e8cde2817 100644 (file)
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -6,6 +6,8 @@
  *   (see COPYING for full license text)
  */
 
  *   (see COPYING for full license text)
  */
 
+#define USE_THE_REPOSITORY_VARIABLE
+
 #include "cgit.h"
 #include "ui-blob.h"
 #include "html.h"
 #include "cgit.h"
 #include "ui-blob.h"
 #include "html.h"
@@ -19,7 +21,7 @@ struct walk_tree_context {
 };
 
 static int walk_tree(const struct object_id *oid, struct strbuf *base,
 };
 
 static int walk_tree(const struct object_id *oid, struct strbuf *base,
-               const char *pathname, unsigned mode, int stage, void *cbdata)
+               const char *pathname, unsigned mode, void *cbdata)
 {
        struct walk_tree_context *walk_tree_ctx = cbdata;
 
 {
        struct walk_tree_context *walk_tree_ctx = cbdata;
 
@@ -52,11 +54,13 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
                .file_only = file_only
        };
 
                .file_only = file_only
        };
 
-       if (get_oid(ref, &oid))
+       if (repo_get_oid(the_repository, ref, &oid))
                goto done;
        if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT)
                goto done;
                goto done;
        if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT)
                goto done;
-       read_tree_recursive(lookup_commit_reference(&oid)->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+       read_tree(the_repository,
+                 repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)),
+                 &paths, walk_tree, &walk_tree_ctx);
 
 done:
        free(path_items.match);
 
 done:
        free(path_items.match);
@@ -85,19 +89,20 @@ int cgit_print_file(char *path, const char *head, int file_only)
                .file_only = file_only
        };
 
                .file_only = file_only
        };
 
-       if (get_oid(head, &oid))
+       if (repo_get_oid(the_repository, head, &oid))
                return -1;
        type = oid_object_info(the_repository, &oid, &size);
        if (type == OBJ_COMMIT) {
                return -1;
        type = oid_object_info(the_repository, &oid, &size);
        if (type == OBJ_COMMIT) {
-               commit = lookup_commit_reference(&oid);
-               read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+               commit = lookup_commit_reference(the_repository, &oid);
+               read_tree(the_repository, repo_get_commit_tree(the_repository, commit),
+                         &paths, walk_tree, &walk_tree_ctx);
                if (!walk_tree_ctx.found_path)
                        return -1;
                type = oid_object_info(the_repository, &oid, &size);
        }
        if (type == OBJ_BAD)
                return -1;
                if (!walk_tree_ctx.found_path)
                        return -1;
                type = oid_object_info(the_repository, &oid, &size);
        }
        if (type == OBJ_BAD)
                return -1;
-       buf = read_object_file(&oid, &type, &size);
+       buf = repo_read_object_file(the_repository, &oid, &type, &size);
        if (!buf)
                return -1;
        buf[size] = '\0';
        if (!buf)
                return -1;
        buf[size] = '\0';
@@ -135,7 +140,7 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
                        return;
                }
        } else {
                        return;
                }
        } else {
-               if (get_oid(head, &oid)) {
+               if (repo_get_oid(the_repository, head, &oid)) {
                        cgit_print_error_page(404, "Not found",
                                        "Bad ref: %s", head);
                        return;
                        cgit_print_error_page(404, "Not found",
                                        "Bad ref: %s", head);
                        return;
@@ -145,8 +150,9 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
        type = oid_object_info(the_repository, &oid, &size);
 
        if ((!hex) && type == OBJ_COMMIT && path) {
        type = oid_object_info(the_repository, &oid, &size);
 
        if ((!hex) && type == OBJ_COMMIT && path) {
-               commit = lookup_commit_reference(&oid);
-               read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+               commit = lookup_commit_reference(the_repository, &oid);
+               read_tree(the_repository, repo_get_commit_tree(the_repository, commit),
+                         &paths, walk_tree, &walk_tree_ctx);
                type = oid_object_info(the_repository, &oid, &size);
        }
 
                type = oid_object_info(the_repository, &oid, &size);
        }
 
@@ -156,7 +162,7 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
                return;
        }
 
                return;
        }
 
-       buf = read_object_file(&oid, &type, &size);
+       buf = repo_read_object_file(the_repository, &oid, &type, &size);
        if (!buf) {
                cgit_print_error_page(500, "Internal server error",
                                "Error reading object %s", hex);
        if (!buf) {
                cgit_print_error_page(500, "Internal server error",
                                "Error reading object %s", hex);