Re: [PATCH] t7406: fix breakage on OSX

2 messages, 2 authors, 2016-08-10 · open the first message on its own page

Re: [PATCH] t7406: fix breakage on OSX

From: Junio C Hamano <hidden>
Date: 2016-08-10 18:27:31

Stefan Beller [off-list ref] writes:
On OSX `wc` prefixes the output of numbers with whitespace, such that
the `commit_count` would be "SP <NUMBER>". When using that in

    git submodule update --init --depth=$commit_count

the depth would be empty and the number is interpreted as the pathspec.
Fix this by not using `wc` and rather instruct rev-list to count.

Another way to fix this is to remove the `=` sign after the `--depth`
argument as then we are allowed to have more than just one whitespace
between `--depth` and the actual number. Prefer the solution of rev-list
counting as that is expected to be slightly faster and more self-sustained
within Git.
You meant self-contained, I would guess.

There are a couple of "log --oneline | wc -l" remaining that are
currently safe but they may be a time-bomb waiting to go off.

Thanks.

Re: [PATCH] t7406: fix breakage on OSX

From: Stefan Beller <hidden>
Date: 2016-08-10 19:04:08

On Wed, Aug 10, 2016 at 11:27 AM, Junio C Hamano [off-list ref] wrote:
Stefan Beller [off-list ref] writes:
quoted
On OSX `wc` prefixes the output of numbers with whitespace, such that
the `commit_count` would be "SP <NUMBER>". When using that in

    git submodule update --init --depth=$commit_count

the depth would be empty and the number is interpreted as the pathspec.
Fix this by not using `wc` and rather instruct rev-list to count.

Another way to fix this is to remove the `=` sign after the `--depth`
argument as then we are allowed to have more than just one whitespace
between `--depth` and the actual number. Prefer the solution of rev-list
counting as that is expected to be slightly faster and more self-sustained
within Git.
You meant self-contained, I would guess.
Yes. Mind to fix that locally, or waiting for a resend?
There are a couple of "log --oneline | wc -l" remaining that are
currently safe but they may be a time-bomb waiting to go off.
$ grep -r "log --oneline | wc -l"
t6050-replace.sh: test $(git log --oneline | wc -l) = 7 &&
t6050-replace.sh: test $(git log --oneline | wc -l) = 3 &&
t7406-submodule-update.sh: test 1 = $(git -C submodule log --oneline | wc -l)
t7406-submodule-update.sh: test 1 = $(git -C submodule log --oneline | wc -l)
t7400-submodule-basic.sh: test 1 = $(git log --oneline | wc -l)

All of the occurrences are not white space sensitive AFAICT,
they are just bad examples, which may inspire others to follow
that pattern.

Thanks,
Stefan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help