On Sat, Jan 20, 2018 at 3:33 PM, brian m. carlson
<[email protected]> wrote:
> We recently introduced a regression in cloning repositories onto
> case-insensitive file systems where the repository contains multiple
> files differing only in case.  In such a case, we would segfault.  This
> segfault has already been fixed (repository: pre-initialize hash algo
> pointer), but it's not the first time similar problems have arisen.
> Introduce a test to catch this case and ensure the behavior does not
> regress.

I guess you'd probably want a "From: Eric Sunshine <[email protected]>"
header before this paragraph.

The patch itself looks correct... ;-)

> Signed-off-by: Eric Sunshine <[email protected]>
> Signed-off-by: brian m. carlson <[email protected]>
> ---
> diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
> index 0f895478f0..53b2dda9d2 100755
> --- a/t/t5601-clone.sh
> +++ b/t/t5601-clone.sh
> @@ -611,4 +611,17 @@ test_expect_success 'GIT_TRACE_PACKFILE produces a 
> usable pack' '
>         git -C replay.git index-pack -v --stdin <tmp.pack
>  '
>
> +hex2oct() {
> +       perl -ne 'printf "\\%03o", hex for /../g'
> +}
> +
> +test_expect_success 'clone on case-insensitive fs' '
> +       o=$(git hash-object -w --stdin </dev/null | hex2oct) &&
> +       t=$(printf "100644 X\0${o}100644 x\0${o}" |
> +               git hash-object -w -t tree --stdin) &&
> +       c=$(git commit-tree -m bogus $t) &&
> +       git update-ref refs/heads/bogus $c &&
> +       git clone -b bogus . bogus
> +'
> +
>  test_done

Reply via email to