Junio C Hamano <gitster@xxxxxxxxx> writes: > Jim Hill <gjthill@xxxxxxxxx> writes: > >> I call it unwanted because the default works fine with the actual >> input and explicitly limiting whitespace this way breaks most command >> substitution. > > OK. I'd call that "unnecessary", not "unwanted", though. > > It becomes unwanted only when somebody cuts and pastes and changes > what happens inside the body of the loop without thinking what IFS > assignment is doing. > > Leaving it to the default is not wrong per-se, but I think it is > better to justify this change as protecting cut-and-paste people, > which is its primary benefit as far as I can see. > > Thanks for noticing. FYI, here is what I queued for today's integration cycle (you should be able to find it in 'pu' branch). -- >8 -- From: Jim Hill <gjthill@xxxxxxxxx> Date: Sun, 21 Dec 2014 11:26:00 -0800 Subject: [PATCH] pre-push.sample: remove unnecessary and misleading IFS=' ' The sample hook explicitly sets IFS to SP and nothing else so that the "read" used in the per-ref while loop that iterates over "<localref> SP <localsha1> SP <remoteref> SP <remotesha>" records, where we know refs and sha1s will not have SPs, would split them correctly. While this is not wrong per-se, it is not necessary; because we know these fields do not contain HT or LF, either, we can simply leave IFS the default. This will also prevent those who cut and paste from this sample from getting bitten when they write things in the per-ref loop that need splitting with the default $IFS (e.g. use $(git rev-list ...) to produce one-record-per-line output). Signed-off-by: Jim Hill <gjthill@xxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- templates/hooks--pre-push.sample | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/hooks--pre-push.sample b/templates/hooks--pre-push.sample index 69e3c67..6187dbf 100755 --- a/templates/hooks--pre-push.sample +++ b/templates/hooks--pre-push.sample @@ -24,7 +24,6 @@ url="$2" z40=0000000000000000000000000000000000000000 -IFS=' ' while read local_ref local_sha remote_ref remote_sha do if [ "$local_sha" = $z40 ] -- 2.2.1-321-gd161b79 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html