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

Re: [WIP PATCH 01/18] rev-parse: add --internal-cwd and --internal-git-dir for tests

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Oct 25, 2010, 00:04 UTC
Message-ID
<AANLkTimfDVPFK7y-bkg-QYsTyHKdoxmvZxzzt36w95r5@mail.gmail.com>
In-Reply-To
<20101024154005.GB31764@burratino>
2010/10/24 Jonathan Nieder <jrnieder@gmail.com>:
Show 9 quoted lines
> Nguyễn Thái Ngọc Duy wrote:
>
>> --internal-cwd is obvious, no way else to expose it for testing.
>>
>> --internal-git-dir is introduced because --git-dir prepares its output
>> suitable for scripting. For tests, it must be exactly what git stores.
>
> Hmm.  Forget this is used in tests, would it make sense to do this
> with trace_printf, at the end of setup, as in your earlier patch?

trace_printf surely does. But "the end of setup" is unclear. As of now, setup ends when setup_* function _and_ setup_git_env() are called. There are cases that setup_* finishes without calling setup_git_env(), or setup_git_env() is called way before setup_* is finished.

> I think it might: just like the exec: lines provide context about what
> command is being traced, such trace: cwd: lines would make it clearer
> what paths that are being output might be referring to.
Also prefix them all with "setup:", something like

setup: git_dir: ../.git setup: work_tree: /my/git/worktree setup: cwd: /my/git/worktree setup: prefix: sub/

would be easy to be grepped from GIT_TRACE, to read and to test_cmp.
> Returning to the topic of tests, is it possible to get at these
> variables using an external command that is run by git?  pre-commit
> hook, maybe.  Testing of other symptoms is also possible, as in
> Frédéric's example.

Why do hooks need these? git_dir, prefix are already accessible via --git-dir, --show-prefix, --show-toplevel. Current cwd can be determined with --is-inside-work-tree: if it returns true, current cwd is worktree root, otherwise it is original cwd.

-- 
Duy
Previous: Jonathan NiederNext: Jakub Narebski
Message 4 of 23 in “setup tests”
  1. 00/18 setup testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  2. 01/18 rev-parse: add --internal-cwd and --internal-git-dir for testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  3. Jonathan NiederOct 24, 2010
  4. Nguyen Thai Ngoc DuyOct 25, 2010
  5. Jakub NarebskiOct 25, 2010
  6. Nguyen Thai Ngoc DuyOct 25, 2010
  7. 02/18 Add t1510 for setup testsNguyễn Thái Ngọc Duy, Oct 24, 2010
  8. 03/18 t1510: setup case #0Nguyễn Thái Ngọc Duy, Oct 24, 2010
  9. 04/18 t1510: setup case #1Nguyễn Thái Ngọc Duy, Oct 24, 2010
  10. 05/18 t1510: setup case #2Nguyễn Thái Ngọc Duy, Oct 24, 2010
  11. 06/18 t1510: setup case #3Nguyễn Thái Ngọc Duy, Oct 24, 2010
  12. 07/18 t1510: setup case #4Nguyễn Thái Ngọc Duy, Oct 24, 2010
  13. 08/18 t1510: setup case #5Nguyễn Thái Ngọc Duy, Oct 24, 2010
  14. 09/18 t1510: setup case #6Nguyễn Thái Ngọc Duy, Oct 24, 2010
  15. 10/18 t1510: setup case #7Nguyễn Thái Ngọc Duy, Oct 24, 2010
  16. 11/18 t1510: setup case #8Nguyễn Thái Ngọc Duy, Oct 24, 2010
  17. 12/18 t1510: setup case #9Nguyễn Thái Ngọc Duy, Oct 24, 2010
  18. 13/18 t1510: setup case #10Nguyễn Thái Ngọc Duy, Oct 24, 2010
  19. 14/18 t1510: setup case #11Nguyễn Thái Ngọc Duy, Oct 24, 2010
  20. 15/18 t1510: setup case #12Nguyễn Thái Ngọc Duy, Oct 24, 2010
  21. 16/18 t1510: setup case #13Nguyễn Thái Ngọc Duy, Oct 24, 2010
  22. 17/18 t1510: setup case #14Nguyễn Thái Ngọc Duy, Oct 24, 2010
  23. 18/18 t1510: setup case #15Nguyễn Thái Ngọc Duy, Oct 24, 2010

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.