git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 08/19] shallow: add repository argument to set_alternate_shallow_file

From
Stefan Beller <sbeller@google.com>
Date
May 17, 2018, 22:51 UTC
Message-ID
<20180517225154.9200-9-sbeller@google.com>
In-Reply-To
<20180517225154.9200-1-sbeller@google.com>

Add a repository argument to allow callers of set_alternate_shallow_file to be more specific about which repository to handle. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 commit.h      | 3 ++-
 environment.c | 2 +-
 git.c         | 2 +-
 shallow.c     | 2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/commit.h b/commit.h
index f6746125766..f88c854e2f6 100644
--- a/commit.h
+++ b/commit.h
@@ -199,7 +199,8 @@ extern struct commit_list *get_shallow_commits(struct object_array *heads,
 		int depth, int shallow_flag, int not_shallow_flag);
 extern struct commit_list *get_shallow_commits_by_rev_list(
 		int ac, const char **av, int shallow_flag, int not_shallow_flag);
-extern void set_alternate_shallow_file(const char *path, int override);
+#define set_alternate_shallow_file(r, p, o) set_alternate_shallow_file_##r(p, o)
+extern void set_alternate_shallow_file_the_repository(const char *path, int override);
 extern int write_shallow_commits(struct strbuf *out, int use_pack_protocol,
 				 const struct oid_array *extra);
 extern void setup_alternate_shallow(struct lock_file *shallow_lock,
diff --git a/environment.c b/environment.c
index b991fc0a87c..87d9e52ffde 100644
--- a/environment.c
+++ b/environment.c
@@ -189,7 +189,7 @@ void setup_git_env(const char *git_dir)
 	git_namespace = expand_namespace(getenv(GIT_NAMESPACE_ENVIRONMENT));
 	shallow_file = getenv(GIT_SHALLOW_FILE_ENVIRONMENT);
 	if (shallow_file)
-		set_alternate_shallow_file(shallow_file, 0);
+		set_alternate_shallow_file(the_repository, shallow_file, 0);
 }
 
 int is_bare_repository(void)
diff --git a/git.c b/git.c
index 3a89893712e..5e8903681e6 100644
--- a/git.c
+++ b/git.c
@@ -207,7 +207,7 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
 		} else if (!strcmp(cmd, "--shallow-file")) {
 			(*argv)++;
 			(*argc)--;
-			set_alternate_shallow_file((*argv)[0], 1);
+			set_alternate_shallow_file(the_repository, (*argv)[0], 1);
 			if (envchanged)
 				*envchanged = 1;
 		} else if (!strcmp(cmd, "-C")) {
diff --git a/shallow.c b/shallow.c
index ca360c700c5..73cb11a9162 100644
--- a/shallow.c
+++ b/shallow.c
@@ -19,7 +19,7 @@ static int is_shallow = -1;
 static struct stat_validity shallow_stat;
 static char *alternate_shallow_file;
 
-void set_alternate_shallow_file(const char *path, int override)
+void set_alternate_shallow_file_the_repository(const char *path, int override)
 {
 	if (is_shallow != -1)
 		die("BUG: is_repository_shallow must not be called before set_alternate_shallow_file");
-- 
2.17.0.582.gccdcbd54c44.dirty
Previous: Stefan BellerNext: Stefan Beller
Message 25 of 40 in “object store: grafts and shallow.”
  1. 00/19 object store: grafts and shallow.Stefan Beller, May 15, 2018
  2. 02/19 object: move grafts to object parserStefan Beller, May 15, 2018
  3. 05/19 commit: add repository argument to read_graft_fileStefan Beller, May 15, 2018
  4. 06/19 commit: add repository argument to prepare_commit_graftStefan Beller, May 15, 2018
  5. 09/19 shallow: add repository argument to register_shallowStefan Beller, May 15, 2018
  6. 11/19 shallow: add repository argument to is_repository_shallowStefan Beller, May 15, 2018
  7. 13/19 commit: convert register_commit_graft to handle arbitrary repositoriesStefan Beller, May 15, 2018
  8. 15/19 cache: convert get_graft_file to handle arbitrary repositoriesStefan Beller, May 15, 2018
  9. 16/19 path.c: migrate git_path_ to take a repository argumentStefan Beller, May 15, 2018
  10. 19/19 commit: allow lookup_commit_graft to handle arbitrary repositoriesStefan Beller, May 15, 2018
  11. 18/19 commit: allow prepare_commit_graft to handle arbitrary repositoriesStefan Beller, May 15, 2018
  12. 12/19 commit: convert commit_graft_pos() to handle arbitrary repositoriesStefan Beller, May 15, 2018
  13. 14/19 commit: convert read_graft_file to handle arbitrary repositoriesStefan Beller, May 15, 2018
  14. 17/19 shallow: migrate shallow information into the object parserStefan Beller, May 15, 2018
  15. 07/19 commit: add repository argument to lookup_commit_graftStefan Beller, May 15, 2018
  16. 10/19 shallow: add repository argument to check_shallow_file_for_updateStefan Beller, May 15, 2018
  17. 08/19 shallow: add repository argument to set_alternate_shallow_fileStefan Beller, May 15, 2018
  18. 03/19 commit: add repository argument to commit_graft_posStefan Beller, May 15, 2018
  19. 04/19 commit: add repository argument to register_commit_graftStefan Beller, May 15, 2018
  20. 01/19 object-store: move object access functions to object-store.hStefan Beller, May 15, 2018
  21. 00/19 object store: grafts and shallow.Stefan Beller, May 17, 2018
  22. 02/19 object: move grafts to object parserStefan Beller, May 17, 2018
  23. 04/19 commit: add repository argument to register_commit_graftStefan Beller, May 17, 2018
  24. 07/19 commit: add repository argument to lookup_commit_graftStefan Beller, May 17, 2018
  25. 08/19 shallow: add repository argument to set_alternate_shallow_fileStefan Beller, May 17, 2018
  26. 09/19 shallow: add repository argument to register_shallowStefan Beller, May 17, 2018
  27. 10/19 shallow: add repository argument to check_shallow_file_for_updateStefan Beller, May 17, 2018
  28. 12/19 commit: convert commit_graft_pos() to handle arbitrary repositoriesStefan Beller, May 17, 2018
  29. 14/19 commit: convert read_graft_file to handle arbitrary repositoriesStefan Beller, May 17, 2018
  30. 15/19 cache: convert get_graft_file to handle arbitrary repositoriesStefan Beller, May 17, 2018
  31. 19/19 commit: allow lookup_commit_graft to handle arbitrary repositoriesStefan Beller, May 17, 2018
  32. 17/19 shallow: migrate shallow information into the object parserStefan Beller, May 17, 2018
  33. 16/19 path.c: migrate global git_path_* to take a repository argumentStefan Beller, May 17, 2018
  34. 11/19 shallow: add repository argument to is_repository_shallowStefan Beller, May 17, 2018
  35. 13/19 commit: convert register_commit_graft to handle arbitrary repositoriesStefan Beller, May 17, 2018
  36. 18/19 commit: allow prepare_commit_graft to handle arbitrary repositoriesStefan Beller, May 17, 2018
  37. 01/19 object-store: move object access functions to object-store.hStefan Beller, May 17, 2018
  38. 06/19 commit: add repository argument to prepare_commit_graftStefan Beller, May 17, 2018
  39. 05/19 commit: add repository argument to read_graft_fileStefan Beller, May 17, 2018
  40. 03/19 commit: add repository argument to commit_graft_posStefan Beller, May 17, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.