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

Re: [PATCH v5 0/6] Kill manual ref parsing code in worktree.c

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 25, 2017, 04:30 UTC
Message-ID
<xmqqbmrlw1lz.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20170424100124.24637-1-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
> v5 chanes are mostly cosmetic:
Good changes.  Will re-queue.
Thanks.
Show 77 quoted lines
>
> diff --git a/refs.c b/refs.c
> index 5d31fb6bcf..7972720256 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -1530,11 +1530,7 @@ struct ref_store *get_main_ref_store(void)
>  	if (main_ref_store)
>  		return main_ref_store;
>  
> -	main_ref_store = ref_store_init(get_git_dir(),
> -					(REF_STORE_READ |
> -					 REF_STORE_WRITE |
> -					 REF_STORE_ODB |
> -					 REF_STORE_MAIN));
> +	main_ref_store = ref_store_init(get_git_dir(), REF_STORE_ALL_CAPS);
>  	return main_ref_store;
>  }
>  
> @@ -1597,9 +1593,6 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
>  struct ref_store *get_worktree_ref_store(const struct worktree *wt)
>  {
>  	struct ref_store *refs;
> -	unsigned int refs_all_capabilities =
> -		REF_STORE_READ | REF_STORE_WRITE |
> -		REF_STORE_ODB | REF_STORE_MAIN;
>  	const char *id;
>  
>  	if (wt->is_current)
> @@ -1612,10 +1605,10 @@ struct ref_store *get_worktree_ref_store(const struct worktree *wt)
>  
>  	if (wt->id)
>  		refs = ref_store_init(git_common_path("worktrees/%s", wt->id),
> -				      refs_all_capabilities);
> +				      REF_STORE_ALL_CAPS);
>  	else
>  		refs = ref_store_init(get_git_common_dir(),
> -				      refs_all_capabilities);
> +				      REF_STORE_ALL_CAPS);
>  
>  	if (refs)
>  		register_ref_store_map(&worktree_ref_stores, "worktree",
> diff --git a/refs/refs-internal.h b/refs/refs-internal.h
> index 690498698e..b26f7e41ce 100644
> --- a/refs/refs-internal.h
> +++ b/refs/refs-internal.h
> @@ -467,6 +467,10 @@ struct ref_store;
>  #define REF_STORE_WRITE		(1 << 1) /* can perform update operations */
>  #define REF_STORE_ODB		(1 << 2) /* has access to object database */
>  #define REF_STORE_MAIN		(1 << 3)
> +#define REF_STORE_ALL_CAPS	(REF_STORE_READ | \
> +				 REF_STORE_WRITE | \
> +				 REF_STORE_ODB | \
> +				 REF_STORE_MAIN)
>  
>  /*
>   * Initialize the ref_store for the specified gitdir. These functions
>
> Nguyễn Thái Ngọc Duy (6):
>   environment.c: fix potential segfault by get_git_common_dir()
>   refs.c: make submodule ref store hashmap generic
>   refs: add REFS_STORE_ALL_CAPS
>   refs: introduce get_worktree_ref_store()
>   worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
>   refs: kill set_worktree_head_symref()
>
>  branch.c                               |  15 ++---
>  environment.c                          |   2 +
>  refs.c                                 | 100 ++++++++++++++++++++------------
>  refs.h                                 |  12 +---
>  refs/files-backend.c                   |  44 --------------
>  refs/refs-internal.h                   |   4 ++
>  t/helper/test-ref-store.c              |  18 ++++++
>  t/t1407-worktree-ref-store.sh (new +x) |  52 +++++++++++++++++
>  worktree.c                             | 102 +++++++++------------------------
>  worktree.h                             |   2 +-
>  10 files changed, 177 insertions(+), 174 deletions(-)
>  create mode 100755 t/t1407-worktree-ref-store.sh
Previous: Nguyễn Thái Ngọc Duy
Message 51 of 51 in “Kill manual ref parsing code in worktree.c”
  1. 0/2 Kill manual ref parsing code in worktree.cNguyễn Thái Ngọc Duy, Feb 8, 2017
  2. 1/2 refs.c: add resolve_ref_submodule()Nguyễn Thái Ngọc Duy, Feb 8, 2017
  3. Michael HaggertyFeb 9, 2017
  4. 2/2 worktree.c: use submodule interface to access refs from another worktreeNguyễn Thái Ngọc Duy, Feb 8, 2017
  5. Stefan BellerFeb 8, 2017
  6. Junio C HamanoFeb 8, 2017
  7. Junio C HamanoFeb 8, 2017
  8. Michael HaggertyFeb 9, 2017
  9. Junio C HamanoFeb 9, 2017
  10. Michael HaggertyFeb 9, 2017
  11. Duy NguyenFeb 9, 2017
  12. Michael HaggertyFeb 9, 2017
  13. Junio C HamanoFeb 8, 2017
  14. 0/5 Kill manual ref parsing code in worktree.cNguyễn Thái Ngọc Duy, Feb 16, 2017
  15. 1/5 refs: introduce get_worktree_ref_store()Nguyễn Thái Ngọc Duy, Feb 16, 2017
  16. 2/5 refs.c: add refs_resolve_ref_unsafe()Nguyễn Thái Ngọc Duy, Feb 16, 2017
  17. 3/5 worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()Nguyễn Thái Ngọc Duy, Feb 16, 2017
  18. 4/5 refs: add refs_create_symref()Nguyễn Thái Ngọc Duy, Feb 16, 2017
  19. 5/5 refs: kill set_worktree_head_symref()Nguyễn Thái Ngọc Duy, Feb 16, 2017
  20. 0/4 Kill manual ref parsing code in worktree.cNguyễn Thái Ngọc Duy, Mar 18, 2017
  21. 4/4 refs: kill set_worktree_head_symref()Nguyễn Thái Ngọc Duy, Mar 18, 2017
  22. 3/4 worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()Nguyễn Thái Ngọc Duy, Mar 18, 2017
  23. 2/4 refs: introduce get_worktree_ref_store()Nguyễn Thái Ngọc Duy, Mar 18, 2017
  24. Michael HaggertyMar 20, 2017
  25. Duy NguyenMar 20, 2017
  26. Michael HaggertyMar 20, 2017
  27. Duy NguyenMar 26, 2017
  28. 1/4 environment.c: fix potential segfault by get_git_common_dir()Nguyễn Thái Ngọc Duy, Mar 18, 2017
  29. Junio C HamanoMar 18, 2017
  30. Duy NguyenMar 19, 2017
  31. Junio C HamanoMar 18, 2017
  32. 0/5 Kill manual ref parsing code in worktree.cNguyễn Thái Ngọc Duy, Apr 4, 2017
  33. 1/5 environment.c: fix potential segfault by get_git_common_dir()Nguyễn Thái Ngọc Duy, Apr 4, 2017
  34. 2/5 refs.c: make submodule ref store hashmap genericNguyễn Thái Ngọc Duy, Apr 4, 2017
  35. 3/5 refs: introduce get_worktree_ref_store()Nguyễn Thái Ngọc Duy, Apr 4, 2017
  36. Michael HaggertyApr 22, 2017
  37. 4/5 worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()Nguyễn Thái Ngọc Duy, Apr 4, 2017
  38. 5/5 refs: kill set_worktree_head_symref()Nguyễn Thái Ngọc Duy, Apr 4, 2017
  39. Junio C HamanoApr 14, 2017
  40. Junio C HamanoApr 14, 2017
  41. Duy NguyenApr 14, 2017
  42. Junio C HamanoApr 17, 2017
  43. Michael HaggertyApr 22, 2017
  44. 0/6 Kill manual ref parsing code in worktree.cNguyễn Thái Ngọc Duy, Apr 24, 2017
  45. 1/6 environment.c: fix potential segfault by get_git_common_dir()Nguyễn Thái Ngọc Duy, Apr 24, 2017
  46. 2/6 refs.c: make submodule ref store hashmap genericNguyễn Thái Ngọc Duy, Apr 24, 2017
  47. 4/6 refs: introduce get_worktree_ref_store()Nguyễn Thái Ngọc Duy, Apr 24, 2017
  48. 5/6 worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()Nguyễn Thái Ngọc Duy, Apr 24, 2017
  49. 3/6 refs: add REFS_STORE_ALL_CAPSNguyễn Thái Ngọc Duy, Apr 24, 2017
  50. 6/6 refs: kill set_worktree_head_symref()Nguyễn Thái Ngọc Duy, Apr 24, 2017
  51. Junio C HamanoApr 25, 2017

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.