Re: [PATCH 04/10] t0027: use $ZERO_OID

2018-06-06 Thread brian m. carlson
On Wed, Jun 06, 2018 at 09:02:23AM +0200, Torsten Bögershausen wrote:
> Nothing wrong with the patch.
> There is, however, a trick in t0027 to transform the different IDs back to a 
> bunch of '0'.
> The content of the file use only uppercase letters, and all lowercase ad 
> digits
> are converted like this:
> 
> compare_ws_file () {
>   pfx=$1
>   exp=$2.expect
>   act=$pfx.actual.$3
>   tr '\015\000abcdef0123456789' QN0 <"$2" >"$exp" &&
>   tr '\015\000abcdef0123456789' QN0 <"$3" >"$act" &&
>   test_cmp "$exp" "$act" &&
>   rm "$exp" "$act"
> }
> 
> In the long term the 'tr' may need an additional 'sed' expression.

I'll take a look.  That may end up being a more robust solution.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204


signature.asc
Description: PGP signature


Re: [PATCH 04/10] t0027: use $ZERO_OID

2018-06-06 Thread Torsten Bögershausen
On Mon, Jun 04, 2018 at 11:52:23PM +, brian m. carlson wrote:
> Use the ZERO_OID variable to express the all-zeros object ID so that it
> works with hash algorithms of all sizes.
> 
> Signed-off-by: brian m. carlson 
> ---
>  t/t0027-auto-crlf.sh | 14 +++---
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> index beb5927f77..14fcd3f49f 100755
> --- a/t/t0027-auto-crlf.sh
> +++ b/t/t0027-auto-crlf.sh
> @@ -371,13 +371,13 @@ test_expect_success 'setup master' '
>   git checkout -b master &&
>   git add .gitattributes &&
>   git commit -m "add .gitattributes" . &&
> - printf "\$Id:  
> \$\nLINEONE\nLINETWO\nLINETHREE" >LF &&
> - printf "\$Id:  
> \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF &&
> - printf "\$Id:  
> \$\nLINEONE\r\nLINETWO\nLINETHREE"   >CRLF_mix_LF &&
> - printf "\$Id:  
> \$\nLINEONE\nLINETWO\rLINETHREE" >LF_mix_CR &&
> - printf "\$Id:  
> \$\r\nLINEONE\r\nLINETWO\rLINETHREE"   >CRLF_mix_CR &&
> - printf "\$Id:  
> \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | q_to_nul >CRLF_nul &&
> - printf "\$Id:  
> \$\nLINEONEQ\nLINETWO\nLINETHREE" | q_to_nul >LF_nul &&
> + printf "\$Id: $ZERO_OID \$\nLINEONE\nLINETWO\nLINETHREE" >LF &&
> + printf "\$Id: $ZERO_OID \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF &&
> + printf "\$Id: $ZERO_OID \$\nLINEONE\r\nLINETWO\nLINETHREE"   
> >CRLF_mix_LF &&
> + printf "\$Id: $ZERO_OID \$\nLINEONE\nLINETWO\rLINETHREE" >LF_mix_CR 
> &&
> + printf "\$Id: $ZERO_OID \$\r\nLINEONE\r\nLINETWO\rLINETHREE"   
> >CRLF_mix_CR &&
> + printf "\$Id: $ZERO_OID \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | 
> q_to_nul >CRLF_nul &&
> + printf "\$Id: $ZERO_OID \$\nLINEONEQ\nLINETWO\nLINETHREE" | q_to_nul 
> >LF_nul &&
>   create_NNO_MIX_files &&
>   git -c core.autocrlf=false add NNO_*.txt MIX_*.txt &&
>   git commit -m "mixed line endings" &&

Nothing wrong with the patch.
There is, however, a trick in t0027 to transform the different IDs back to a 
bunch of '0'.
The content of the file use only uppercase letters, and all lowercase ad digits
are converted like this:

compare_ws_file () {
pfx=$1
exp=$2.expect
act=$pfx.actual.$3
tr '\015\000abcdef0123456789' QN0 <"$2" >"$exp" &&
tr '\015\000abcdef0123456789' QN0 <"$3" >"$act" &&
test_cmp "$exp" "$act" &&
rm "$exp" "$act"
}

In the long term the 'tr' may need an additional 'sed' expression.