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

[PATCH v2] Do check_repository_format() early

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Nov 29, 2007, 12:21 UTC
Message-ID
<20071129122139.GA11176@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>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
 Comment updated.
 setup.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/setup.c b/setup.c
index faf4137..8fde2b2 100644
--- a/setup.c
+++ b/setup.c
@@ -246,8 +246,14 @@ 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
+				 * see set_work_tree comment */
+				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 +293,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 +314,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 +375,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: Junio C Hamano
Message 1 of 10 in “Do check_repository_format() early”
  1. Do check_repository_format() earlyNguyễn Thái Ngọc Duy, Nov 29, 2007
  2. [Funky] "git -p cmd" inside a bare repositoryJunio C Hamano, Dec 14, 2007
  3. make git start-up sequence a bit more robustJunio C Hamano, Dec 14, 2007
  4. Jeff KingDec 14, 2007
  5. Jeff KingDec 14, 2007
  6. Junio C HamanoDec 14, 2007
  7. Nguyen Thai Ngoc DuyDec 14, 2007
  8. Johannes SchindelinDec 14, 2007
  9. Junio C HamanoDec 14, 2007
  10. Johannes SchindelinDec 14, 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.