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

nd/setup

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Apr 8, 2010, 21:42 UTC
Message-ID
<20100408214233.GA32441@progeny.tock>
In-Reply-To
<20100408073825.GA15153@coredump.intra.peff.net>
Jeff King wrote:
> On Wed, Apr 07, 2010 at 05:48:02PM -0700, Junio C Hamano wrote:
>> * nd/setup (2010-04-05) 43 commits
[...]
> Probably one or both
> of us should look at it before applying it to next, but assuming it
> passes a basic sanity check, I think the best thing will be to get it in
> 'next' early so we can shake out any bugs during the next cycle.
I don’t think it’s anywhere near master material yet.

First, the basic problem. The core of the series is in patch 40, which adds a new runtime self-checker for git. Kind of like lockdep. Instead of proving locking correctness, this proves that whenever git tries to access the repository, it has already been clearly and unambiguously declared which repository to access (and in particular, whether to try to access a repository at all). Very neat, and it reveals many bugs, which is nice.

When lockdep finds a locking problem, it quietly prints a message to the kernel log and the kernel is able to keep going without worrying about it. Unfortunately, the repository access checker from nd/setup is not so graceful: it makes git die even though it should be able to carry on just fine. Example: with nd/setup, ls-remote currently fails when run outside any repository. Probably the checker should be configured by an environment variable that indicates where to print its messages and whether to bail out when a problem is detected (for tests).

A few of the earlier patches seem iffy, though they all start with a correct idea. For example, one of them changes the semantics of rev-parse --show-prefix without documenting it. So I have been looking for time to document what each patch fixes. Without some explanation of what the patches are supposed to fix and what they are not supposed to break, merging even them early would be a bit dangerous.

Sorry to be the bearer of bad tidings, Jonathan

Previous: Jeff KingNext: Jeff King
Message 8 of 18 in “What's cooking in git.git (Apr 2010, #03; Wed, 07)”
  1. Junio C HamanoApr 8, 2010
  2. Johannes SixtApr 8, 2010
  3. Junio C HamanoApr 8, 2010
  4. Fredrik KuivinenApr 8, 2010
  5. Tor ArntsenApr 8, 2010
  6. Tor ArntsenApr 8, 2010
  7. Jeff KingApr 8, 2010
  8. nd/setupJonathan Nieder, Apr 8, 2010
  9. Jeff KingApr 9, 2010
  10. Take it easy on unallowed access to non-existent repositoryNguyễn Thái Ngọc Duy, Apr 11, 2010
  11. Sverre RabbelierApr 11, 2010
  12. Nguyen Thai Ngoc DuyApr 11, 2010
  13. Sverre RabbelierApr 11, 2010
  14. Nguyen Thai Ngoc DuyApr 11, 2010
  15. Nguyen Thai Ngoc DuyApr 9, 2010
  16. Jonathan NiederApr 9, 2010
  17. Nguyen Thai Ngoc DuyApr 9, 2010
  18. Nguyen Thai Ngoc DuyApr 11, 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.