Re: [PATCH] Avoid bug in Solaris xpg4/sed as used in submodule
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Apr 9, 2012, 06:40 UTC
- Message-ID
- <m2sjgde7cs.fsf@linux-m68k.org>
- In-Reply-To
- <1333935414-10389-1-git-send-email-bwalton@artsci.utoronto.ca>
Ben Walton <bwalton@artsci.utoronto.ca> writes:
Show 19 quoted lines
> 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."