git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Torsten Bögershausen <tboegi@web.de>
Date
Jun 6, 2018, 07:02 UTC
Message-ID
<20180606070222.GA11992@tor.lan>
In-Reply-To
<20180604235229.279814-5-sandals@crustytoothpaste.net>
On Mon, Jun 04, 2018 at 11:52:23PM +0000, brian m. carlson wrote:
Show 33 quoted lines
> 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 <sandals@crustytoothpaste.net>
> ---
>  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: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\nLINETHREE"     >LF &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\r\nLINETWO\nLINETHREE"   >CRLF_mix_LF &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\rLINETHREE"     >LF_mix_CR &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\rLINETHREE"   >CRLF_mix_CR &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | q_to_nul >CRLF_nul &&
> -	printf "\$Id: 0000000000000000000000000000000000000000 \$\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' QN00000000000000000 <"$2" >"$exp" &&
	tr '\015\000abcdef0123456789' QN00000000000000000 <"$3" >"$act" &&
	test_cmp "$exp" "$act" &&
	rm "$exp" "$act"
}
In the long term the 'tr' may need an additional 'sed' expression.
Previous: brian m. carlsonNext: brian m. carlson
Message 18 of 26 in “Hash-independent tests (part 3)”
  1. 00/10 Hash-independent tests (part 3)brian m. carlson, Jun 4, 2018
  2. 01/10 t: add tool to translate hash-related valuesbrian m. carlson, Jun 4, 2018
  3. Torsten BögershausenJun 6, 2018
  4. Jeff KingJun 6, 2018
  5. brian m. carlsonJun 7, 2018
  6. Jeff KingJun 7, 2018
  7. Eric SunshineJun 11, 2018
  8. brian m. carlsonJun 12, 2018
  9. Eric SunshineJun 12, 2018
  10. brian m. carlsonJun 14, 2018
  11. brian m. carlsonJul 24, 2018
  12. Eric SunshineJul 25, 2018
  13. 05/10 t0064: make hash size independentbrian m. carlson, Jun 4, 2018
  14. Eric SunshineJun 11, 2018
  15. brian m. carlsonJun 12, 2018
  16. 07/10 t1400: switch hard-coded object ID to variablebrian m. carlson, Jun 4, 2018
  17. 04/10 t0027: use $ZERO_OIDbrian m. carlson, Jun 4, 2018
  18. Torsten BögershausenJun 6, 2018
  19. brian m. carlsonJun 7, 2018
  20. 08/10 t1405: make hash size independentbrian m. carlson, Jun 4, 2018
  21. 06/10 t1006: make hash size independentbrian m. carlson, Jun 4, 2018
  22. 03/10 t0002: abstract away SHA-1-specific constantsbrian m. carlson, Jun 4, 2018
  23. Eric SunshineJun 11, 2018
  24. 09/10 t1406: make hash-size independentbrian m. carlson, Jun 4, 2018
  25. 10/10 t1407: make hash size independentbrian m. carlson, Jun 4, 2018
  26. 02/10 t0000: use hash translation tablebrian m. carlson, Jun 4, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.