From: Junio C Hamano <gitster@pobox.com>
To: Ralf Thielow <ralf.thielow@gmail.com>
Cc: git <git@vger.kernel.org>,
Lars Schneider <larsxschneider@gmail.com>,
Joseph Musser <me@jnm2.com>, Philip Oakley <philipoakley@iee.org>,
John Keeping <john@keeping.me.uk>,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH v2 2/3] help: introduce option --exclude-guides
Date: Fri, 26 Aug 2016 13:20:57 -0700 [thread overview]
Message-ID: <xmqqfuprffiu.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <CAN0XMOKo0VXPZF8ve2e1N5f591Kkz-Gmxt4wJKsev2zj4ubj9w@mail.gmail.com> (Ralf Thielow's message of "Fri, 26 Aug 2016 22:00:48 +0200")
Ralf Thielow <ralf.thielow@gmail.com> writes:
>>> 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).
>> *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
>> 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.
next prev parent reply other threads:[~2016-08-26 20:24 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-12 2:00 `git stash --help` tries to pull up nonexistent file gitstack.html Joseph Musser
2016-08-12 15:48 ` Junio C Hamano
2016-08-12 16:03 ` Lars Schneider
2016-08-12 16:15 ` Joseph Musser
2016-08-12 16:25 ` Junio C Hamano
2016-08-12 18:14 ` Jacob Keller
2016-08-12 20:10 ` [PATCH] help: make option --help open man pages only for Git commands Ralf Thielow
2016-08-12 21:34 ` Junio C Hamano
2016-08-12 22:53 ` Junio C Hamano
2016-08-13 0:08 ` Philip Oakley
2016-08-13 15:31 ` Junio C Hamano
2016-08-15 5:36 ` [PATCH v2] " Ralf Thielow
2016-08-15 11:25 ` Philip Oakley
2016-08-15 17:57 ` Junio C Hamano
2016-08-15 20:40 ` Philip Oakley
2016-08-15 22:19 ` Junio C Hamano
2016-08-16 10:06 ` John Keeping
2016-08-16 16:20 ` [PATCH v3] " Ralf Thielow
2016-08-16 16:33 ` John Keeping
2016-08-16 16:39 ` Ralf Thielow
2016-08-16 17:27 ` Junio C Hamano
2016-08-16 17:57 ` Ralf Thielow
2016-08-16 19:06 ` Junio C Hamano
2016-08-18 18:57 ` [PATCH 0/2] " Ralf Thielow
2016-08-18 18:57 ` [PATCH 1/2] help: introduce option --command-only Ralf Thielow
2016-08-18 18:57 ` [PATCH 2/2] help: make option --help open man pages only for Git commands Ralf Thielow
2016-08-18 19:51 ` Junio C Hamano
2016-08-23 17:34 ` Ralf Thielow
2016-08-18 21:47 ` [PATCH 1/2] help: introduce option --command-only Philip Oakley
2016-08-19 8:32 ` Johannes Schindelin
2016-08-19 15:53 ` Junio C Hamano
2016-08-23 17:41 ` Ralf Thielow
2016-08-24 7:47 ` Johannes Schindelin
2016-08-19 8:39 ` Remi Galan Alfonso
2016-08-23 17:37 ` Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 0/3] help: make option --help open man pages only for Git commands Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 1/3] Revert "display HTML in default browser using Windows' shell API" Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 2/3] help: introduce option --exclude-guides Ralf Thielow
2016-08-26 19:06 ` Junio C Hamano
2016-08-26 19:42 ` Junio C Hamano
2016-08-26 20:03 ` Ralf Thielow
2016-08-26 20:28 ` Junio C Hamano
2016-08-26 20:00 ` Ralf Thielow
2016-08-26 20:20 ` Junio C Hamano [this message]
2016-08-26 20:39 ` Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 3/3] help: make option --help open man pages only for Git commands Ralf Thielow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqfuprffiu.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
--cc=john@keeping.me.uk \
--cc=larsxschneider@gmail.com \
--cc=me@jnm2.com \
--cc=philipoakley@iee.org \
--cc=ralf.thielow@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.