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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).