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

Re: [PATCH v1 2/6] convert.c: Remove path when not needed

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 2, 2016, 21:32 UTC
Message-ID
<xmqqfuxare5x.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1454431990-1980-1-git-send-email-tboegi@web.de>
tboegi@web.de writes:
> Subject: Re: [PATCH v1 2/6] convert.c: Remove path when not needed
At least s/: Remove/: remove/, but I think
s/: Remove.*/: remove unused parameter 'path'/
would be easier to read.

All of these functions seem to have "path" in their name, sounding as if they meant to ask "What is the crlf-ness for THIS PATH?" Is it still sensible to have "path" in their names?

The necessary information that is specific to the path was already gathered when we prepared the 'check' thing, so they are still asking and answering their questions specific to the path by accepting 'check', but it still feels somewhat funny.

With or without "path" in their names, they are horribly misnamed (e.g. "check crlf---are we asking if the file has crlf? if the file must be written out with crlf? something else?").

Your later patches seem to refactor and reorganize this internal calling mess in some way, so let's read on and see how the whole thing improves ;-)

Show 51 quoted lines
> -static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_check *check)
> +static enum crlf_action git_path_check_crlf(struct git_attr_check *check)
>  {
>  	const char *value = check->value;
>  
> @@ -713,7 +713,7 @@ static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_ch
>  	return CRLF_GUESS;
>  }
>  
> -static enum eol git_path_check_eol(const char *path, struct git_attr_check *check)
> +static enum eol git_path_check_eol(struct git_attr_check *check)
>  {
>  	const char *value = check->value;
>  
> @@ -726,8 +726,7 @@ static enum eol git_path_check_eol(const char *path, struct git_attr_check *chec
>  	return EOL_UNSET;
>  }
>  
> -static struct convert_driver *git_path_check_convert(const char *path,
> -					     struct git_attr_check *check)
> +static struct convert_driver *git_path_check_convert(struct git_attr_check *check)
>  {
>  	const char *value = check->value;
>  	struct convert_driver *drv;
> @@ -740,7 +739,7 @@ static struct convert_driver *git_path_check_convert(const char *path,
>  	return NULL;
>  }
>  
> -static int git_path_check_ident(const char *path, struct git_attr_check *check)
> +static int git_path_check_ident(struct git_attr_check *check)
>  {
>  	const char *value = check->value;
>  
> @@ -783,12 +782,12 @@ static void convert_attrs(struct conv_attrs *ca, const char *path)
>  	}
>  
>  	if (!git_check_attr(path, NUM_CONV_ATTRS, ccheck)) {
> -		ca->crlf_action = git_path_check_crlf(path, ccheck + 4);
> +		ca->crlf_action = git_path_check_crlf( ccheck + 4);
>  		if (ca->crlf_action == CRLF_GUESS)
> -			ca->crlf_action = git_path_check_crlf(path, ccheck + 0);
> -		ca->ident = git_path_check_ident(path, ccheck + 1);
> -		ca->drv = git_path_check_convert(path, ccheck + 2);
> -		ca->eol_attr = git_path_check_eol(path, ccheck + 3);
> +			ca->crlf_action = git_path_check_crlf(ccheck + 0);
> +		ca->ident = git_path_check_ident(ccheck + 1);
> +		ca->drv = git_path_check_convert(ccheck + 2);
> +		ca->eol_attr = git_path_check_eol(ccheck + 3);
>  	} else {
>  		ca->drv = NULL;
>  		ca->crlf_action = CRLF_GUESS;
Previous: tboegi@web.deNext: tboegi@web.de
Message 8 of 47 in “t0027: Add tests for get_stream_filter()”
  1. t0027: Add tests for get_stream_filter()tboegi@web.de, Jan 24, 2016
  2. Junio C HamanoJan 27, 2016
  3. Torsten BögershausenJan 27, 2016
  4. 1/6 t0027: Add tests for get_stream_filter()tboegi@web.de, Jan 27, 2016
  5. 1/6 t0027: Add tests for get_stream_filter()tboegi@web.de, Feb 2, 2016
  6. Junio C HamanoFeb 2, 2016
  7. 2/6 convert.c: Remove path when not neededtboegi@web.de, Feb 2, 2016
  8. Junio C HamanoFeb 2, 2016
  9. 3/6 convert.c: Remove input_crlf_action()tboegi@web.de, Feb 2, 2016
  10. Junio C HamanoFeb 2, 2016
  11. 4/6 convert.c: Use text_eol_is_crlf()tboegi@web.de, Feb 2, 2016
  12. 5/6 convert: auto_crlf=false and no attributes set: same as binarytboegi@web.de, Feb 2, 2016
  13. 6/6 convert.c: Refactor crlf_actiontboegi@web.de, Feb 2, 2016
  14. 1/7 t0027: Add tests for get_stream_filter()tboegi@web.de, Feb 4, 2016
  15. Junio C HamanoFeb 4, 2016
  16. 2/7 convert.c: remove unused parameter 'path'tboegi@web.de, Feb 4, 2016
  17. 3/7 convert.c: Remove input_crlf_action()tboegi@web.de, Feb 4, 2016
  18. 4/7 convert.c: Use text_eol_is_crlf()tboegi@web.de, Feb 4, 2016
  19. Junio C HamanoFeb 4, 2016
  20. 5/7 convert: auto_crlf=false and no attributes set: same as binarytboegi@web.de, Feb 4, 2016
  21. 6/7 convert.c: Refactor crlf_actiontboegi@web.de, Feb 4, 2016
  22. 7/7 convert.c: simplify text_stattboegi@web.de, Feb 4, 2016
  23. Junio C HamanoFeb 4, 2016
  24. 1/7 t0027: Add tests for get_stream_filter()tboegi@web.de, Feb 5, 2016
  25. Junio C HamanoFeb 8, 2016
  26. 2/7 convert.c: remove unused parameter 'path'tboegi@web.de, Feb 5, 2016
  27. 3/7 convert.c: Remove input_crlf_action()tboegi@web.de, Feb 5, 2016
  28. 4/7 convert.c: use text_eol_is_crlf()tboegi@web.de, Feb 5, 2016
  29. 5/7 convert: auto_crlf=false and no attributes set: same as binarytboegi@web.de, Feb 5, 2016
  30. Junio C HamanoFeb 8, 2016
  31. Torsten BögershausenFeb 9, 2016
  32. Junio C HamanoFeb 9, 2016
  33. 6/7 convert.c: refactor crlf_actiontboegi@web.de, Feb 5, 2016
  34. 7/7 convert.c: simplify text_stattboegi@web.de, Feb 5, 2016
  35. 1/6 t0027: add tests for get_stream_filter()tboegi@web.de, Feb 10, 2016
  36. 2/6 convert.c: remove unused parameter 'path'tboegi@web.de, Feb 10, 2016
  37. 3/6 convert.c: remove input_crlf_action()tboegi@web.de, Feb 10, 2016
  38. 4/6 convert.c: use text_eol_is_crlf()tboegi@web.de, Feb 10, 2016
  39. 5/6 convert.c: refactor crlf_actiontboegi@web.de, Feb 10, 2016
  40. 6/6 convert.c: simplify text_stattboegi@web.de, Feb 10, 2016
  41. 1/1 convert.c: correct attr_actiontboegi@web.de, Feb 22, 2016
  42. Eric SunshineFeb 22, 2016
  43. Junio C HamanoFeb 22, 2016
  44. Junio C HamanoFeb 22, 2016
  45. Torsten BögershausenFeb 23, 2016
  46. 1/1 convert.c: correct attr_actiontboegi@web.de, Feb 23, 2016
  47. Junio C HamanoFeb 23, 2016

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.