From: Ayush Chandekar <ayu.chandekar@gmail.com>
To: ayu.chandekar@gmail.com
Cc: christian.couder@gmail.com, git@vger.kernel.org,
shyamthakkar001@gmail.com, shejialuo@gmail.com
Subject: [GSOC PATCH v2 0/2] builtin/prune: remove dependency on global variables and 'the_repository'
Date: Mon, 30 Jun 2025 22:11:03 +0530 [thread overview]
Message-ID: <cover.1751296633.git.ayu.chandekar@gmail.com> (raw)
In-Reply-To: <cover.1749343601.git.ayu.chandekar@gmail.com>
The aim of this patch series is to remove the definition '#define USE_THE_REPOSITORY_VARIABLE'
from "builtin/prune.c" by removing global variables and the global 'the_repository'.
This patch series contains two patches:
1 - Move the global variable 'repository_format_precious_objects' into 'struct repository'
and update all affected code paths accordingly.
2 - Remove the dependency of 'the_repository' in "builtin/prunce.c", allowing the removal of
the definition.
Ayush Chandekar (2):
repository: move 'repository_format_precious_objects' to repo scope
builtin/prune: stop depending on 'the_repository'
builtin/gc.c | 2 +-
builtin/prune.c | 27 ++++++++++++---------------
builtin/repack.c | 2 +-
environment.c | 1 -
environment.h | 2 --
repository.c | 1 +
repository.h | 1 +
setup.c | 5 ++++-
8 files changed, 20 insertions(+), 21 deletions(-)
--
Summary of the range-diff:
* Changed the commit message of 1/2 to use "setting" instead of "settings" since it refers to just one.
* Added "Mentored-by" tags in both 1/2 and 2/2.
* Fixed line formatting in builtin/prune.c in 2/2.
Range-diff:
1: 699f9a947d ! 1: 995389d622 repository: move 'repository_format_precious_objects' to repo scope
@@ Metadata
## Commit message ##
repository: move 'repository_format_precious_objects' to repo scope
- The 'extensions.preciousObjects' settings when set true, prevents
+ The 'extensions.preciousObjects' setting when set true, prevents
operations that might drop objects from the object storage.
This setting is populated in the global variable
'repository_format_precious_objects'.
@@ Commit message
This change is part of an ongoing effort to eliminate global variables,
improve modularity and help libify the codebase.
+ Mentored-by: Christian Couder <christian.couder@gmail.com>
+ Mentored-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Signed-off-by: Ayush Chandekar <ayu.chandekar@gmail.com>
## builtin/gc.c ##
2: f22cc88e9f ! 2: f70de9d549 builtin/prune: stop depending on 'the_repository'
@@ Commit message
repo and thus remove the definition '#define
USE_THE_REPOSITORY_VARIABLE'
+ Mentored-by: Christian Couder <christian.couder@gmail.com>
+ Mentored-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Signed-off-by: Ayush Chandekar <ayu.chandekar@gmail.com>
## builtin/prune.c ##
@@ builtin/prune.c: static int prune_object(const struct object_id *oid, const char
return 0;
if (show_only || verbose) {
- enum object_type type = oid_object_info(the_repository, oid,
-+ enum object_type type = oid_object_info(revs->repo, oid,
- NULL);
+- NULL);
++ enum object_type type = oid_object_info(revs->repo, oid, NULL);
printf("%s %s\n", oid_to_hex(oid),
(type > 0) ? type_name(type) : "unknown");
+ }
@@ builtin/prune.c: static void remove_temporary_files(const char *path)
int cmd_prune(int argc,
const char **argv,
@@ builtin/prune.c: int cmd_prune(int argc,
- if (!repo_get_oid(the_repository, name, &oid)) {
- struct object *object = parse_object_or_die(the_repository, &oid,
+- name);
+ if (!repo_get_oid(repo, name, &oid)) {
-+ struct object *object = parse_object_or_die(repo, &oid,
- name);
++ struct object *object = parse_object_or_die(repo, &oid, name);
add_pending_object(&revs, object, "");
}
+ else
@@ builtin/prune.c: int cmd_prune(int argc,
revs.exclude_promisor_objects = 1;
}
2.49.0
next prev parent reply other threads:[~2025-06-30 16:41 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-08 1:06 [GSOC PATCH 0/2] builtin/prune: remove dependency on global variables and 'the_repository' Ayush Chandekar
2025-06-08 1:06 ` [GSOC PATCH 1/2] repository: move 'repository_format_precious_objects' to repo scope Ayush Chandekar
2025-06-28 7:26 ` shejialuo
2025-06-28 13:14 ` Ayush Chandekar
2025-06-08 1:06 ` [GSOC PATCH 2/2] builtin/prune: stop depending on 'the_repository' Ayush Chandekar
2025-06-28 7:33 ` shejialuo
2025-06-28 13:21 ` Ayush Chandekar
2025-06-25 15:59 ` [GSOC PATCH 0/2] builtin/prune: remove dependency on global variables and 'the_repository' Ayush Chandekar
2025-06-30 16:41 ` Ayush Chandekar [this message]
2025-06-30 16:41 ` [GSOC PATCH v2 1/2] repository: move 'repository_format_precious_objects' to repo scope Ayush Chandekar
2025-07-01 13:01 ` Patrick Steinhardt
2025-07-01 18:24 ` Ayush Chandekar
2025-07-02 2:23 ` Patrick Steinhardt
2025-06-30 16:41 ` [GSOC PATCH v2 2/2] builtin/prune: stop depending on 'the_repository' Ayush Chandekar
2025-07-01 13:01 ` Patrick Steinhardt
2025-07-01 16:42 ` Junio C Hamano
2025-07-01 18:09 ` Ayush Chandekar
2025-07-01 19:44 ` Usman Akinyemi
2025-07-01 22:04 ` Ayush Chandekar
2025-07-02 2:23 ` Patrick Steinhardt
2025-07-02 11:18 ` Usman Akinyemi
2025-07-02 16:53 ` Ben Knoble
2025-07-02 17:06 ` Junio C Hamano
2025-07-02 23:51 ` Ayush Chandekar
2025-07-04 14:12 ` [GSOC PATCH v3 0/2] builtin/prune: remove dependency on global variables and 'the_repository' Ayush Chandekar
2025-07-04 14:12 ` [GSOC PATCH v3 1/2] repository: move 'repository_format_precious_objects' to repo scope Ayush Chandekar
2025-07-04 14:12 ` [GSOC PATCH v3 2/2] builtin/prune: stop depending on 'the_repository' Ayush Chandekar
2025-07-07 6:08 ` Patrick Steinhardt
2025-07-08 13:52 ` Ayush Chandekar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1751296633.git.ayu.chandekar@gmail.com \
--to=ayu.chandekar@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=shejialuo@gmail.com \
--cc=shyamthakkar001@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.