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

Re: [PATCH 3/6] pathspec: cache string length when initialize pathspec

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 27, 2010, 22:19 UTC
Message-ID
<7v62xqx20o.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1284938514-16663-4-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
> Subject: Re: [PATCH 3/6] pathspec: cache string length when initialize pathspec
s/initialize/initializing/;
Show 21 quoted lines
> This field will be used when tree_entry_interesting() is converted to
> use struct pathspec. Currently it uses pathlens[] in struct
> diff_options to avoid calculating string over and over again.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
>  cache.h |    3 +++
>  dir.c   |   11 ++++++++++-
>  2 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/cache.h b/cache.h
> index 6227ddb..045c9fc 100644
> --- a/cache.h
> +++ b/cache.h
> @@ -495,6 +495,9 @@ extern int ie_modified(const struct index_state *, struct cache_entry *, struct
>  struct pathspec {
>  	const char **raw;
>  	int nr;
> +	struct pathspec_item {
> +		int len;
> +	} *items;
Hmm... I would have expected to see
        struct pathspec_item {
                const char *pattern;
                int len;
        };
	struct pathspec {
        	struct pathspec_item *items;
		int nr;
	};

as you would be allocating a structure anyway, but persumably many places take their input as a NULL terminated "char **" array, and keeping such an array around as the "raw" field may be easier in refactoring.

Previous: Nguyễn Thái Ngọc DuyNext: Nguyen Thai Ngoc Duy
Message 7 of 22 in “Introduce pathspec struct”
  1. 0/6 Introduce pathspec structNguyễn Thái Ngọc Duy, Sep 19, 2010
  2. 1/6 Add struct pathspecNguyễn Thái Ngọc Duy, Sep 19, 2010
  3. Junio C HamanoSep 27, 2010
  4. yj2133011Sep 29, 2010
  5. 2/6 diff-no-index: use diff_tree_setup_paths()Nguyễn Thái Ngọc Duy, Sep 19, 2010
  6. 3/6 pathspec: cache string length when initialize pathspecNguyễn Thái Ngọc Duy, Sep 19, 2010
  7. Junio C HamanoSep 27, 2010
  8. Nguyen Thai Ngoc DuySep 28, 2010
  9. 4/6 Convert struct diff_options to use struct pathspecNguyễn Thái Ngọc Duy, Sep 19, 2010
  10. Junio C HamanoSep 27, 2010
  11. 5/6 tree_entry_interesting(): remove dependency on struct diff_optionsNguyễn Thái Ngọc Duy, Sep 19, 2010
  12. Junio C HamanoSep 27, 2010
  13. Nguyen Thai Ngoc DuySep 28, 2010
  14. 6/6 Move tree_entry_interesting() to tree-walk.c and export itNguyễn Thái Ngọc Duy, Sep 19, 2010
  15. Elijah NewrenSep 20, 2010
  16. Nguyen Thai Ngoc DuySep 20, 2010
  17. Junio C HamanoSep 28, 2010
  18. Bo YangSep 28, 2010
  19. Nguyen Thai Ngoc DuySep 28, 2010
  20. Junio C HamanoSep 29, 2010
  21. David RiptonSep 28, 2010
  22. Junio C HamanoSep 29, 2010

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.