Re: [PATCH v3 1/6] t9001: non order-sensitive file comparison
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Jun 9, 2016, 05:51 UTC
- Message-ID
- <vpqporqyko1.fsf@anie.imag.fr>
- In-Reply-To
- <xmqqziqwmqth.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> Tom Russello <tom.russello@grenoble-inp.org> writes:
>
>> +# Check if two files have the same content, non-order sensitive
>> +test_cmp_noorder () {
>> + sort $1 >$1;
>
> Here is what I think happens:
>
> 0) the shell parses this command line;
> 1) the shell notices that the output has to go to $1;
> 2) the shell does open(2) of $1,
> 3) the shell spawns "sort" with a single argument, with its
> output connected to the file descriptor obtained in 2).
>
> Because "$1" becomes an empty file at 2), "sort" reads nothing and
> writes nothing.Tom: in case you're not convinced, try this:
$ (echo b; echo a) >f $ sort f a b $ sort f >f $ cat f $
Also, useless ';' and missing double-quotes around "$1" to avoid bad surprises ifever test_cmp_noorder is called on file names with special characters.
-- Matthieu Moy http://www-verimag.imag.fr/~moy/