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

[PATCH] Do check_repository_format() early

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Nov 28, 2007, 16:58 UTC
Message-ID
<20071128165837.GA5903@laptop>

Repository version check is only performed when setup_git_directory() is called. This makes sure setup_git_directory_gently() does the check too.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 My worktree work still not done yet, so push this first.
 setup.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/setup.c b/setup.c
index faf4137..19a8a77 100644
--- a/setup.c
+++ b/setup.c
@@ -246,8 +246,13 @@ const char *setup_git_directory_gently(int *nongit_ok)
 			static char buffer[1024 + 1];
 			const char *retval;
 
-			if (!work_tree_env)
-				return set_work_tree(gitdirenv);
+			if (!work_tree_env) {
+				retval = set_work_tree(gitdirenv);
+				/* config may override worktree */
+				check_repository_format();
+				return retval;
+			}
+			check_repository_format();
 			retval = get_relative_cwd(buffer, sizeof(buffer) - 1,
 					get_git_work_tree());
 			if (!retval || !*retval)
@@ -287,6 +292,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 			if (!work_tree_env)
 				inside_work_tree = 0;
 			setenv(GIT_DIR_ENVIRONMENT, ".", 1);
+			check_repository_format();
 			return NULL;
 		}
 		chdir("..");
@@ -307,6 +313,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 	if (!work_tree_env)
 		inside_work_tree = 1;
 	git_work_tree_cfg = xstrndup(cwd, offset);
+	check_repository_format();
 	if (offset == len)
 		return NULL;
 
@@ -367,7 +374,6 @@ int check_repository_format(void)
 const char *setup_git_directory(void)
 {
 	const char *retval = setup_git_directory_gently(NULL);
-	check_repository_format();
 
 	/* If the work tree is not the default one, recompute prefix */
 	if (inside_work_tree < 0) {
-- 
1.5.3.6.2041.g106f-dirty
Next: Johannes Schindelin
Message 1 of 16 in “Do check_repository_format() early”
  1. Do check_repository_format() earlyNguyễn Thái Ngọc Duy, Nov 28, 2007
  2. Johannes SchindelinNov 28, 2007
  3. Nguyen Thai Ngoc DuyNov 28, 2007
  4. Johannes SchindelinNov 28, 2007
  5. Nguyen Thai Ngoc DuyNov 28, 2007
  6. Johannes SchindelinNov 28, 2007
  7. Junio C HamanoDec 1, 2007
  8. Nguyen Thai Ngoc DuyDec 1, 2007
  9. Junio C HamanoDec 1, 2007
  10. Nguyen Thai Ngoc DuyDec 3, 2007
  11. Johannes SchindelinDec 3, 2007
  12. Nguyen Thai Ngoc DuyDec 3, 2007
  13. Junio C HamanoDec 3, 2007
  14. Do check_repository_format() earlyNguyễn Thái Ngọc Duy, Dec 5, 2007
  15. Nguyen Thai Ngoc DuyDec 5, 2007
  16. Junio C HamanoDec 6, 2007

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.