On Tue, May 16, 2017 at 2:46 AM, Junio C Hamano <[email protected]> wrote:
> Johannes Schindelin <[email protected]> writes:
>
>> On Mon, 15 May 2017, Junio C Hamano wrote:
>>
>>> My knee-jerk reaction matched Dscho's, but grep is about contents,
>>> and we should be able to test this if we used a sensible tagnames or
>>> didn't use any. Glad to see somebody can step back and think ;-)
>>
>> Maybe somebody should step back even further and think even more, as we
>> could adjust test_commit to mangle the argument into a tag name that is
>> legal even with a refs backend relying on NTFS.
>
> Perhaps, but I am not sure if that is needed.
>
> The point of the helper is to serve as a simple "we are building a
> toy sample history by only adding a one-liner new file" convenience
> helper, and I think it is sensible to keep its definition simple.
> The callers (like the ones being added in the rerolled patch under
> discussion) with special needs can supply tagname when the default
> one is not suitable.
>
> In hindsight, perhaps it would have been better if the default for
> the helper were _not_ to create any tag (and callers who care about
> tags can optionally tell it to add tag, or tag the resulting commit
> themselves), but that is lamenting water under the bridge.
This works, but I wonder if it's worth it to solve this one-off issue:
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 5ee124332a..4cab67c410 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -195,7 +195,15 @@ test_commit () {
test_tick
fi &&
git ${indir:+ -C "$indir"} commit $signoff -m "$1" &&
- git ${indir:+ -C "$indir"} tag "${4:-$1}"
+ if test -n "$4"
+ then
+ git ${indir:+ -C "$indir"} tag "$4"
+ elif test -n "$(echo $1 | tr -d A-Za-z0-9/~_.#-)"
+ then
+ error "Implicitly created tag '$1' looks unusual,
probably fails outside *nix"
+ else
+ git ${indir:+ -C "$indir"} tag "$1"
+ fi
}
# Call test_merge with the arguments "<message> <commit>", where <commit>