[PATCH 2 of 2 V2] tests: don't hardcode path to bash interpreter

David Soria Parra davidsp at fb.com
Wed Mar 26 11:50:42 CDT 2014


Olle Lundberg <olle.lundberg at gmail.com> writes:

> # HG changeset patch
> # User Olle Lundberg <geek at nerd.sh>
> # Date 1395785272 -3600
> #      Tue Mar 25 23:07:52 2014 +0100
> # Node ID c0c158e277f7b7a33c51d0ee163c42345c70d84d
> # Parent  6e8b538637302e06a3510d15e36c30757f8501a2
> tests: don't hardcode path to bash interpreter
>
> Use the env binary to figure out the correct bash to use.
> Certain systems ships with an ancient version of bash, but the
> user might have installed a newer one that is earlier in $PATH.
>
> For example the current version of Mac OS X ships version 3.2.51
> of bash, which does not understand new fancy builtins such as
> readarray. A user might install a newer version of bash, use that
> as their shell and add that path before bin.
>
> diff --git a/tests/bundles/rebase.sh b/tests/bundles/rebase.sh
> --- a/tests/bundles/rebase.sh
> +++ b/tests/bundles/rebase.sh
> @@ -1,6 +1,6 @@
> -#!/bin/bash
> +#!/usr/bin/env bash
>  hg init rebase
>  cd rebase
>  
>  #  @  7: 'H'
>  #  |
> diff --git a/tests/bundles/remote.sh b/tests/bundles/remote.sh
> --- a/tests/bundles/remote.sh
> +++ b/tests/bundles/remote.sh
> @@ -1,6 +1,6 @@
> -#!/bin/bash
> +#!/usr/bin/env bash
>  hg init remote
>  cd remote
>  
>  echo "0" >> afile
>  hg add afile

As discussed, I think the sensible thing is to get rid of /bin/bash
wherever possible and use sh instead. Nevertheless we should use
/usr/bin/env for portability anyway. So I queued that. Thank you!


More information about the Mercurial-devel mailing list