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

Re: [PATCH 4/9] Make setup_work_tree() return new prefix

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 28, 2008, 11:30 UTC
Message-ID
<alpine.LSU.1.00.0802281130140.22527@racer.site>
In-Reply-To
<20080227163902.GA28058@laptop>
Hi,
On Wed, 27 Feb 2008, Nguyễn Thái Ngọc Duy wrote:
Show 35 quoted lines
> @@ -336,24 +321,21 @@ const char *setup_git_directory_gently(int *nongit_ok)
>  			static char buffer[1024 + 1];
>  			const char *retval;
>  
> +			/*
> +			 * The old behaviour (which we retain here) is to set
> +			 * the work tree root to the cwd, unless overridden by
> +			 * the config, the command line, or GIT_WORK_TREE.
> +			 */
>  			if (!work_tree_env) {
> -				retval = set_work_tree(gitdirenv);
> -				/* config may override worktree */
> -				if (check_repository_format_gently(nongit_ok))
> -					return NULL;
> -				return retval;
> +				char buffer[PATH_MAX + 1];
> +
> +				if (!getcwd(buffer, sizeof(buffer)))
> +					die ("Could not get the current working directory");
> +				git_work_tree_cfg = xstrdup(buffer);
> +				inside_work_tree = 1;
>  			}
> -			if (check_repository_format_gently(nongit_ok))
> -				return NULL;
> -			retval = get_relative_cwd(buffer, sizeof(buffer) - 1,
> -					get_git_work_tree());
> -			if (!retval || !*retval)
> -				return NULL;
> -			set_git_dir(make_absolute_path(gitdirenv));
> -			if (chdir(work_tree_env) < 0)
> -				die ("Could not chdir to %s", work_tree_env);
> -			strcat(buffer, "/");
> -			return retval;
> +			check_repository_format_gently(nongit_ok);
> +			return NULL;

What about the situation where you are in a subdirectory of core.worktree? You return prefix NULL? That's wrong.

I am sorry, but with all these intrusive changes, I get a very uneasy feeling. As uneasy as with the original series, which I tried to fix up, not really succeeding.

Ciao, Dscho

Previous: Nguyễn Thái Ngọc DuyNext: Nguyen Thai Ngoc Duy
Message 7 of 24 in “"git read-tree -m" and the like require worktree”
  1. 1/9 "git read-tree -m" and the like require worktreeNguyễn Thái Ngọc Duy, Feb 27, 2008
  2. Junio C HamanoFeb 28, 2008
  3. Nguyen Thai Ngoc DuyFeb 28, 2008
  4. 2/9 Make sure setup_git_directory is called before accessing repositoryNguyễn Thái Ngọc Duy, Feb 27, 2008
  5. 3/9 Make get_git_dir() and 'git rev-parse --git-dir' absolute pathNguyễn Thái Ngọc Duy, Feb 27, 2008
  6. 4/9 Make setup_work_tree() return new prefixNguyễn Thái Ngọc Duy, Feb 27, 2008
  7. Johannes SchindelinFeb 28, 2008
  8. Nguyen Thai Ngoc DuyFeb 28, 2008
  9. Johannes SchindelinFeb 28, 2008
  10. 5/9 http-push: Avoid calling setup_git_directory() twiceNguyễn Thái Ngọc Duy, Feb 27, 2008
  11. Junio C HamanoFeb 28, 2008
  12. Nguyen Thai Ngoc DuyFeb 28, 2008
  13. 6/9 Completely move out worktree setup from setup_git_directory_gently()Nguyễn Thái Ngọc Duy, Feb 27, 2008
  14. Junio C HamanoFeb 28, 2008
  15. Nguyen Thai Ngoc DuyFeb 28, 2008
  16. Junio C HamanoFeb 28, 2008
  17. Nguyen Thai Ngoc DuyFeb 28, 2008
  18. Johannes SchindelinFeb 28, 2008
  19. Nguyen Thai Ngoc DuyFeb 28, 2008
  20. 7/9 builtin-archive: mark unused prefix "unused_prefix"Nguyễn Thái Ngọc Duy, Feb 27, 2008
  21. 8/9 Make setup_git_directory() auto-setup worktree if foundNguyễn Thái Ngọc Duy, Feb 27, 2008
  22. 9/9 Documentation: update api-builtin and api-setupNguyễn Thái Ngọc Duy, Feb 27, 2008
  23. Jonathan NiederApr 5, 2011
  24. Nguyen Thai Ngoc DuyApr 5, 2011

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.