From: Andreas Schwab Date: Mon, 09 Apr 2012 06:40:03 GMT Subject: Re: [PATCH] Avoid bug in Solaris xpg4/sed as used in submodule Message-ID: In-Reply-To: <1333935414-10389-1-git-send-email-bwalton@artsci.utoronto.ca> Ben Walton writes: > The sed provided by Solaris in /usr/xpg4/bin has a bug whereby an > unanchored regex using * for zero or more repetitions sees two > separate matches fed to the substitution engine in some cases. > > This is evidenced by: > > $ for sed in /usr/xpg4/bin/sed /usr/bin/sed /opt/csw/gnu/sed; do \ > echo 'ab' | $sed -e 's|[a]*|X|g'; \ > done > XXbX > XbX > XbX > > This bug was triggered during a git submodule clone operation as > exercised in the setup stage of t5526-fetch-submodules when using the > default SANE_TOOL_PATH for Solaris. It led to paths such as > ..../.. being used in the submodule .git gitdir reference. > > Using the expression 's|\([^/]*\(/*\)\)|..\2|g' provides the desired How about using 's|[^/][^/]*|..|g' instead, which should avoid the bug as well. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."