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

Olle Lundberg olle.lundberg at gmail.com
Wed Mar 26 06:02:44 CDT 2014


# HG changeset patch
# User Olle Lundberg <geek at nerd.sh>
# Date 1395831553 -3600
#      Wed Mar 26 11:59:13 2014 +0100
# Node ID 6e8b538637302e06a3510d15e36c30757f8501a2
# Parent  2a14a2e1ec78f2950da46fedb70686278d90620e
contrib: 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/contrib/editmerge b/contrib/editmerge
--- a/contrib/editmerge
+++ b/contrib/editmerge
@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
 # A simple script for opening merge conflicts in the editor.
 # Use the following Mercurial settings to enable it.
 #
 # [ui]
 # merge = editmerge
diff --git a/contrib/revsetbenchmarks.sh b/contrib/revsetbenchmarks.sh
--- a/contrib/revsetbenchmarks.sh
+++ b/contrib/revsetbenchmarks.sh
@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Measure the performance of a list of revsets against multiple revisions
 # defined by parameter. Checkout one by one and run perfrevset with every
 # revset in the list to benchmark its performance.
 #


More information about the Mercurial-devel mailing list