From b9342b3fd6308c351f53075c9c4339913b73451f Mon Sep 17 00:00:00 2001 From: Derrick Stolee Date: Fri, 5 Aug 2022 17:58:36 +0000 Subject: refs: add array of ref namespaces Git interprets different meanings to different refs based on their names. Some meanings are cosmetic, like how refs in 'refs/remotes/*' are colored differently from refs in 'refs/heads/*'. Others are more critical, such as how replace refs are interpreted. Before making behavior changes based on ref namespaces, collect all known ref namespaces into a array of ref_namespace_info structs. This array is indexed by the new ref_namespace enum for quick access. As of this change, this array is purely documentation. Future changes will add dependencies on this array. Signed-off-by: Derrick Stolee Signed-off-by: Junio C Hamano --- environment.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'environment.c') diff --git a/environment.c b/environment.c index b3296ce7d1..9eb22f975c 100644 --- a/environment.c +++ b/environment.c @@ -185,6 +185,8 @@ void setup_git_env(const char *git_dir) free(git_replace_ref_base); git_replace_ref_base = xstrdup(replace_ref_base ? replace_ref_base : "refs/replace/"); + update_ref_namespace(NAMESPACE_REPLACE, git_replace_ref_base); + free(git_namespace); git_namespace = expand_namespace(getenv(GIT_NAMESPACE_ENVIRONMENT)); shallow_file = getenv(GIT_SHALLOW_FILE_ENVIRONMENT); -- cgit v1.2.3