]> git.ipfire.org Git - thirdparty/git.git/commitdiff
use repo_get_oid_with_flags()
authorRené Scharfe <l.s.r@web.de>
Wed, 10 Sep 2025 17:16:30 +0000 (19:16 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Sep 2025 21:29:49 +0000 (14:29 -0700)
get_oid_with_context() allows specifying flags and reports object
details via a passed-in struct object_context.  Some callers just want
to specify flags, but don't need any details back.  Convert them to
repo_get_oid_with_flags(), which provides just that and frees them from
dealing with the context structure.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/ls-tree.c
builtin/rev-parse.c
builtin/stash.c
list-objects-filter.c
object-name.c

index 5d55731ca35b7aa00f614132c0af6328978a3e93..ec6940fc7c4b9c78a9a0f8ff9aaec5dfe8926909 100644 (file)
@@ -373,7 +373,6 @@ int cmd_ls_tree(int argc,
                OPT_END()
        };
        struct ls_tree_cmdmode_to_fmt *m2f = ls_tree_cmdmode_format;
-       struct object_context obj_context = {0};
        int ret;
 
        repo_config(the_repository, git_default_config, NULL);
@@ -405,9 +404,8 @@ int cmd_ls_tree(int argc,
                        ls_tree_usage, ls_tree_options);
        if (argc < 1)
                usage_with_options(ls_tree_usage, ls_tree_options);
-       if (get_oid_with_context(the_repository, argv[0],
-                                GET_OID_HASH_ANY, &oid,
-                                &obj_context))
+       if (repo_get_oid_with_flags(the_repository, argv[0], &oid,
+                                   GET_OID_HASH_ANY))
                die("Not a valid object name %s", argv[0]);
 
        /*
@@ -447,6 +445,5 @@ int cmd_ls_tree(int argc,
 
        ret = !!read_tree(the_repository, tree, &options.pathspec, fn, &options);
        clear_pathspec(&options.pathspec);
-       object_context_release(&obj_context);
        return ret;
 }
index 44ff1b8342acaea76d7d001075aaa7ea19cf1b53..9da92b990d074ba1f01e4e874aa8a67b98f339ce 100644 (file)
@@ -708,7 +708,6 @@ int cmd_rev_parse(int argc,
        struct object_id oid;
        unsigned int flags = 0;
        const char *name = NULL;
-       struct object_context unused;
        struct strbuf buf = STRBUF_INIT;
        int seen_end_of_options = 0;
        enum format_type format = FORMAT_DEFAULT;
@@ -1141,9 +1140,8 @@ int cmd_rev_parse(int argc,
                        name++;
                        type = REVERSED;
                }
-               if (!get_oid_with_context(the_repository, name,
-                                         flags, &oid, &unused)) {
-                       object_context_release(&unused);
+               if (!repo_get_oid_with_flags(the_repository, name, &oid,
+                                            flags)) {
                        if (output_algo)
                                repo_oid_to_algop(the_repository, &oid,
                                                  output_algo, &oid);
@@ -1153,7 +1151,6 @@ int cmd_rev_parse(int argc,
                                show_rev(type, &oid, name);
                        continue;
                }
-               object_context_release(&unused);
                if (verify)
                        die_no_single_rev(quiet);
                if (has_dashdash)
index 1977e50df27fc57b01dbc0a2d4485d0aadf8aaaf..e9aac85c76e558464fbf162d00a4963735ec057e 100644 (file)
@@ -1088,7 +1088,6 @@ static int store_stash(int argc, const char **argv, const char *prefix,
        int quiet = 0;
        const char *stash_msg = NULL;
        struct object_id obj;
-       struct object_context dummy = {0};
        struct option options[] = {
                OPT__QUIET(&quiet, N_("be quiet")),
                OPT_STRING('m', "message", &stash_msg, "message",
@@ -1108,9 +1107,8 @@ static int store_stash(int argc, const char **argv, const char *prefix,
                return -1;
        }
 
-       if (get_oid_with_context(the_repository,
-                                argv[0], quiet ? GET_OID_QUIETLY : 0, &obj,
-                                &dummy)) {
+       if (repo_get_oid_with_flags(the_repository, argv[0], &obj,
+                                   quiet ? GET_OID_QUIETLY : 0)) {
                if (!quiet)
                        fprintf_ln(stderr, _("Cannot update %s with %s"),
                                             ref_stash, argv[0]);
@@ -1121,7 +1119,6 @@ static int store_stash(int argc, const char **argv, const char *prefix,
        ret = do_store_stash(&obj, stash_msg, quiet);
 
 out:
-       object_context_release(&dummy);
        return ret;
 }
 
@@ -2233,7 +2230,6 @@ static int do_export_stash(struct repository *r,
                           const char **argv)
 {
        struct object_id base;
-       struct object_context unused;
        struct commit *prev;
        struct commit_list *items = NULL, **iter = &items, *cur;
        int res = 0;
@@ -2267,9 +2263,9 @@ static int do_export_stash(struct repository *r,
                        struct commit *stash;
 
                        if (parse_stash_revision(&revision, argv[i], 1) ||
-                           get_oid_with_context(r, revision.buf,
-                                                GET_OID_QUIETLY | GET_OID_GENTLY,
-                                                &oid, &unused)) {
+                           repo_get_oid_with_flags(r, revision.buf, &oid,
+                                                   GET_OID_QUIETLY |
+                                                   GET_OID_GENTLY)) {
                                res = error(_("unable to find stash entry %s"), argv[i]);
                                goto out;
                        }
index 7ecd4d9ef50a8ed802616a73b9a933b585c61272..acd65ebb734523461730952ed01e9dd36d82dfee 100644 (file)
@@ -524,12 +524,11 @@ static void filter_sparse_oid__init(
        struct filter *filter)
 {
        struct filter_sparse_data *d = xcalloc(1, sizeof(*d));
-       struct object_context oc;
        struct object_id sparse_oid;
 
-       if (get_oid_with_context(the_repository,
-                                filter_options->sparse_oid_name,
-                                GET_OID_BLOB, &sparse_oid, &oc))
+       if (repo_get_oid_with_flags(the_repository,
+                                   filter_options->sparse_oid_name,
+                                   &sparse_oid, GET_OID_BLOB))
                die(_("unable to access sparse blob in '%s'"),
                    filter_options->sparse_oid_name);
        if (add_patterns_from_blob_to_list(&sparse_oid, "", 0, &d->pl) < 0)
@@ -544,8 +543,6 @@ static void filter_sparse_oid__init(
        filter->filter_data = d;
        filter->filter_object_fn = filter_sparse;
        filter->free_fn = filter_sparse_free;
-
-       object_context_release(&oc);
 }
 
 /*
index 11aa0e6afc565e94b723c8469d2004afe520c9cc..a37fbde5a0ce283469b23228e8058ac89b1f03f6 100644 (file)
@@ -1857,55 +1857,35 @@ int repo_get_oid_committish(struct repository *r,
                            const char *name,
                            struct object_id *oid)
 {
-       struct object_context unused;
-       int ret = get_oid_with_context(r, name, GET_OID_COMMITTISH,
-                                      oid, &unused);
-       object_context_release(&unused);
-       return ret;
+       return repo_get_oid_with_flags(r, name, oid, GET_OID_COMMITTISH);
 }
 
 int repo_get_oid_treeish(struct repository *r,
                         const char *name,
                         struct object_id *oid)
 {
-       struct object_context unused;
-       int ret = get_oid_with_context(r, name, GET_OID_TREEISH,
-                                      oid, &unused);
-       object_context_release(&unused);
-       return ret;
+       return repo_get_oid_with_flags(r, name, oid, GET_OID_TREEISH);
 }
 
 int repo_get_oid_commit(struct repository *r,
                        const char *name,
                        struct object_id *oid)
 {
-       struct object_context unused;
-       int ret = get_oid_with_context(r, name, GET_OID_COMMIT,
-                                      oid, &unused);
-       object_context_release(&unused);
-       return ret;
+       return repo_get_oid_with_flags(r, name, oid, GET_OID_COMMIT);
 }
 
 int repo_get_oid_tree(struct repository *r,
                      const char *name,
                      struct object_id *oid)
 {
-       struct object_context unused;
-       int ret = get_oid_with_context(r, name, GET_OID_TREE,
-                                      oid, &unused);
-       object_context_release(&unused);
-       return ret;
+       return repo_get_oid_with_flags(r, name, oid, GET_OID_TREE);
 }
 
 int repo_get_oid_blob(struct repository *r,
                      const char *name,
                      struct object_id *oid)
 {
-       struct object_context unused;
-       int ret = get_oid_with_context(r, name, GET_OID_BLOB,
-                                      oid, &unused);
-       object_context_release(&unused);
-       return ret;
+       return repo_get_oid_with_flags(r, name, oid, GET_OID_BLOB);
 }
 
 /* Must be called only when object_name:filename doesn't exist. */