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

Re: [PATCH v2 2/3] help: introduce option --exclude-guides

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 26, 2016, 20:20 UTC
Message-ID
<xmqqfuprffiu.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAN0XMOKo0VXPZF8ve2e1N5f591Kkz-Gmxt4wJKsev2zj4ubj9w@mail.gmail.com>
Ralf Thielow <ralf.thielow@gmail.com> writes:
Show 9 quoted lines
>>> As we pass a URL, Git won't check if the given path looks like
>>> a documentation directory.  Another solution would be to create
>>> a directory, add a file "git.html" to it and just use this path.
>>
>> I think this is OK; with s|As we pass a URL|As we pass a string with
>> :// in it|, the first sentence can be a in-code comment in the test
>> that does this and will help readers of the code in the future.
>
> Hmm. The "://" is really a URL thing.

Perhaps you thought so, but no, "mailto:ralf.thielow@gmail.com" is a perfectly valid URL.

Because you are explaining why test://html was chosen, and the real reason is any path that is !strstr(path, "://") is subject to an additional "This must be a local path" check and you wanted to avoid it, "As we pass a URL" is unnecessarily vague (and incorrect--we cannot use a mailto: URL to sidestep the check).

Show 13 quoted lines
>> *1* Can you immediately tell why this test is broken?
>>
>> test_expect_success "two commits do not have the same ID" "
>>         git commit --allow-empty -m first &&
>>         one=$(git rev-parse --verify HEAD) &&
>>         test_tick &&
>>         git commit --allow-empty -m second &&
>>         two=$(git rev-parse --verify HEAD) &&
>>         test $one != $two
>> "
>>
>
> I'm afraid I can't.

The reason becomes clear if you put your feet into shell's shues. Before being ablt to call test_expect_success, you would need to figure out what strings you give as its parameters. $1 is clear in this case, a simple string "two commits do not have the same ID" (without double quotes).

But what goes in $2?  Especially the part around "one=..."?

Because the whole thing is inside a double-quote pair, $() and $name are all interpolated even before test_expect_success is called. So the above becomes equivalent to

Show 8 quoted lines
>> test_expect_success "two commits do not have the same ID" '
>>         git commit --allow-empty -m first &&
>>         one=5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286 &&
>>         test_tick &&
>>         git commit --allow-empty -m second &&
>>         two=5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286 &&
>>         test !=
>> '

(using whatever commit HEAD was pointing at before this test starts to run), which obviously is not what we expected to see.

Previous: Ralf ThielowNext: Ralf Thielow
Message 45 of 46 in “`git stash --help` tries to pull up nonexistent file gitstack.html”
  1. Joseph MusserAug 12, 2016
  2. Junio C HamanoAug 12, 2016
  3. Lars SchneiderAug 12, 2016
  4. Joseph MusserAug 12, 2016
  5. Junio C HamanoAug 12, 2016
  6. Jacob KellerAug 12, 2016
  7. help: make option --help open man pages only for Git commandsRalf Thielow, Aug 12, 2016
  8. Junio C HamanoAug 12, 2016
  9. Junio C HamanoAug 12, 2016
  10. Philip OakleyAug 13, 2016
  11. Junio C HamanoAug 13, 2016
  12. help: make option --help open man pages only for Git commandsRalf Thielow, Aug 15, 2016
  13. Philip OakleyAug 15, 2016
  14. Junio C HamanoAug 15, 2016
  15. Philip OakleyAug 15, 2016
  16. Junio C HamanoAug 15, 2016
  17. John KeepingAug 16, 2016
  18. help: make option --help open man pages only for Git commandsRalf Thielow, Aug 16, 2016
  19. John KeepingAug 16, 2016
  20. Ralf ThielowAug 16, 2016
  21. Junio C HamanoAug 16, 2016
  22. Ralf ThielowAug 16, 2016
  23. Junio C HamanoAug 16, 2016
  24. 0/2 help: make option --help open man pages only for Git commandsRalf Thielow, Aug 18, 2016
  25. 1/2 help: introduce option --command-onlyRalf Thielow, Aug 18, 2016
  26. Philip OakleyAug 18, 2016
  27. 2/2 help: make option --help open man pages only for Git commandsRalf Thielow, Aug 18, 2016
  28. Junio C HamanoAug 18, 2016
  29. Ralf ThielowAug 23, 2016
  30. Remi Galan AlfonsoAug 19, 2016
  31. Ralf ThielowAug 23, 2016
  32. Johannes SchindelinAug 19, 2016
  33. Junio C HamanoAug 19, 2016
  34. Ralf ThielowAug 23, 2016
  35. Johannes SchindelinAug 24, 2016
  36. 0/3 help: make option --help open man pages only for Git commandsRalf Thielow, Aug 26, 2016
  37. 1/3 Revert "display HTML in default browser using Windows' shell API"Ralf Thielow, Aug 26, 2016
  38. 3/3 help: make option --help open man pages only for Git commandsRalf Thielow, Aug 26, 2016
  39. 2/3 help: introduce option --exclude-guidesRalf Thielow, Aug 26, 2016
  40. Junio C HamanoAug 26, 2016
  41. Junio C HamanoAug 26, 2016
  42. Ralf ThielowAug 26, 2016
  43. Junio C HamanoAug 26, 2016
  44. Ralf ThielowAug 26, 2016
  45. Junio C HamanoAug 26, 2016
  46. Ralf ThielowAug 26, 2016

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.