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

[PATCH 08/16] path.h: move function declarations for path.c functions from cache.h

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 19, 2023, 06:27 UTC
Message-ID
<0f48e561b797a7c8f5ab4ae5c0d4296d7d05ef44.1679207284.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1493.git.1679207282.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
---
 cache.h | 59 ------------------------------------------------------
 path.h  | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 60 deletions(-)
diff --git a/cache.h b/cache.h
index 978aa01712b..705c41992bc 100644
--- a/cache.h
+++ b/cache.h
@@ -1105,7 +1105,6 @@ enum sharedrepo {
 	PERM_EVERYBODY      = 0664
 };
 int git_config_perm(const char *var, const char *value);
-int adjust_shared_perm(const char *path);
 
 /*
  * Create the directory containing the named path, using care to be
@@ -1141,54 +1140,6 @@ enum scld_error safe_create_leading_directories_const(const char *path);
 enum scld_error safe_create_leading_directories_no_share(char *path);
 
 int mkdir_in_gitdir(const char *path);
-char *interpolate_path(const char *path, int real_home);
-const char *enter_repo(const char *path, int strict);
-const char *remove_leading_path(const char *in, const char *prefix);
-const char *relative_path(const char *in, const char *prefix, struct strbuf *sb);
-int normalize_path_copy_len(char *dst, const char *src, int *prefix_len);
-int normalize_path_copy(char *dst, const char *src);
-int longest_ancestor_length(const char *path, struct string_list *prefixes);
-char *strip_path_suffix(const char *path, const char *suffix);
-int daemon_avoid_alias(const char *path);
-
-/*
- * These functions match their is_hfs_dotgit() counterparts; see utf8.h for
- * details.
- */
-int is_ntfs_dotgit(const char *name);
-int is_ntfs_dotgitmodules(const char *name);
-int is_ntfs_dotgitignore(const char *name);
-int is_ntfs_dotgitattributes(const char *name);
-int is_ntfs_dotmailmap(const char *name);
-
-/*
- * Returns true iff "str" could be confused as a command-line option when
- * passed to a sub-program like "ssh". Note that this has nothing to do with
- * shell-quoting, which should be handled separately; we're assuming here that
- * the string makes it verbatim to the sub-program.
- */
-int looks_like_command_line_option(const char *str);
-
-/**
- * Return a newly allocated string with the evaluation of
- * "$XDG_CONFIG_HOME/$subdir/$filename" if $XDG_CONFIG_HOME is non-empty, otherwise
- * "$HOME/.config/$subdir/$filename". Return NULL upon error.
- */
-char *xdg_config_home_for(const char *subdir, const char *filename);
-
-/**
- * Return a newly allocated string with the evaluation of
- * "$XDG_CONFIG_HOME/git/$filename" if $XDG_CONFIG_HOME is non-empty, otherwise
- * "$HOME/.config/git/$filename". Return NULL upon error.
- */
-char *xdg_config_home(const char *filename);
-
-/**
- * Return a newly allocated string with the evaluation of
- * "$XDG_CACHE_HOME/git/$filename" if $XDG_CACHE_HOME is non-empty, otherwise
- * "$HOME/.cache/git/$filename". Return NULL upon error.
- */
-char *xdg_cache_home(const char *filename);
 
 int git_open_cloexec(const char *name, int flags);
 #define git_open(name) git_open_cloexec(name, O_RDONLY)
@@ -1355,8 +1306,6 @@ int repo_interpret_branch_name(struct repository *r,
 #define interpret_branch_name(str, len, buf, options) \
 	repo_interpret_branch_name(the_repository, str, len, buf, options)
 
-int validate_headref(const char *ref);
-
 int base_name_compare(const char *name1, size_t len1, int mode1,
 		      const char *name2, size_t len2, int mode2);
 int df_name_compare(const char *name1, size_t len1, int mode1,
@@ -1616,14 +1565,6 @@ void stat_validity_update(struct stat_validity *sv, int fd);
 
 int versioncmp(const char *s1, const char *s2);
 
-/*
- * Create a directory and (if share is nonzero) adjust its permissions
- * according to the shared_repository setting. Only use this for
- * directories under $GIT_DIR.  Don't use it for working tree
- * directories.
- */
-void safe_create_dir(const char *dir, int share);
-
 /*
  * Should we print an ellipsis after an abbreviated SHA-1 value
  * when doing diff-raw output or indicating a detached HEAD?
diff --git a/path.h b/path.h
index 0a59c85a62e..60e83a49a98 100644
--- a/path.h
+++ b/path.h
@@ -3,6 +3,7 @@
 
 struct repository;
 struct strbuf;
+struct string_list;
 
 /*
  * The result to all functions which return statically allocated memory may be
@@ -179,7 +180,66 @@ const char *git_path_auto_merge(struct repository *r);
 const char *git_path_fetch_head(struct repository *r);
 const char *git_path_shallow(struct repository *r);
 
-
 int ends_with_path_components(const char *path, const char *components);
+int validate_headref(const char *ref);
+
+int adjust_shared_perm(const char *path);
+
+char *interpolate_path(const char *path, int real_home);
+const char *enter_repo(const char *path, int strict);
+const char *remove_leading_path(const char *in, const char *prefix);
+const char *relative_path(const char *in, const char *prefix, struct strbuf *sb);
+int normalize_path_copy_len(char *dst, const char *src, int *prefix_len);
+int normalize_path_copy(char *dst, const char *src);
+int longest_ancestor_length(const char *path, struct string_list *prefixes);
+char *strip_path_suffix(const char *path, const char *suffix);
+int daemon_avoid_alias(const char *path);
+
+/*
+ * These functions match their is_hfs_dotgit() counterparts; see utf8.h for
+ * details.
+ */
+int is_ntfs_dotgit(const char *name);
+int is_ntfs_dotgitmodules(const char *name);
+int is_ntfs_dotgitignore(const char *name);
+int is_ntfs_dotgitattributes(const char *name);
+int is_ntfs_dotmailmap(const char *name);
+
+/*
+ * Returns true iff "str" could be confused as a command-line option when
+ * passed to a sub-program like "ssh". Note that this has nothing to do with
+ * shell-quoting, which should be handled separately; we're assuming here that
+ * the string makes it verbatim to the sub-program.
+ */
+int looks_like_command_line_option(const char *str);
+
+/**
+ * Return a newly allocated string with the evaluation of
+ * "$XDG_CONFIG_HOME/$subdir/$filename" if $XDG_CONFIG_HOME is non-empty, otherwise
+ * "$HOME/.config/$subdir/$filename". Return NULL upon error.
+ */
+char *xdg_config_home_for(const char *subdir, const char *filename);
+
+/**
+ * Return a newly allocated string with the evaluation of
+ * "$XDG_CONFIG_HOME/git/$filename" if $XDG_CONFIG_HOME is non-empty, otherwise
+ * "$HOME/.config/git/$filename". Return NULL upon error.
+ */
+char *xdg_config_home(const char *filename);
+
+/**
+ * Return a newly allocated string with the evaluation of
+ * "$XDG_CACHE_HOME/git/$filename" if $XDG_CACHE_HOME is non-empty, otherwise
+ * "$HOME/.cache/git/$filename". Return NULL upon error.
+ */
+char *xdg_cache_home(const char *filename);
+
+/*
+ * Create a directory and (if share is nonzero) adjust its permissions
+ * according to the shared_repository setting. Only use this for
+ * directories under $GIT_DIR.  Don't use it for working tree
+ * directories.
+ */
+void safe_create_dir(const char *dir, int share);
 
 #endif /* PATH_H */
-- 
gitgitgadget
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren via GitGitGadget
Message 8 of 37 in “Header cleanups”
  1. 00/16 Header cleanupsElijah Newren via GitGitGadget, Mar 19, 2023
  2. 03/16 treewide: remove unnecessary inclusion of gettext.hElijah Newren via GitGitGadget, Mar 19, 2023
  3. 05/16 environment: move comment_line_char from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  4. 01/16 treewide: remove unnecessary cache.h inclusion from a few headersElijah Newren via GitGitGadget, Mar 19, 2023
  5. 04/16 treewide: remove unnecessary cache.h inclusion from several sourcesElijah Newren via GitGitGadget, Mar 19, 2023
  6. 07/16 cache.h: remove expand_user_path()Elijah Newren via GitGitGadget, Mar 19, 2023
  7. 06/16 abspath.h: move absolute path functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  8. 08/16 path.h: move function declarations for path.c functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  9. 02/16 treewide: be explicit about dependence on gettext.hElijah Newren via GitGitGadget, Mar 19, 2023
  10. 10/16 treewide: remove unnecessary includes of cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  11. 12/16 treewide: remove cache.h inclusion due to environment.h changesElijah Newren via GitGitGadget, Mar 19, 2023
  12. 09/16 wrapper.h: move declarations for wrapper.c functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  13. 14/16 treewide: remove cache.h inclusion due to setup.h changesElijah Newren via GitGitGadget, Mar 19, 2023
  14. 15/16 write-or-die.h: move declarations for write-or-die.c functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  15. 16/16 csum-file.h: remove unnecessary inclusion of cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  16. 11/16 environment.h: move declarations for environment.c functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  17. 13/16 setup.h: move declarations for setup.c functions from cache.hElijah Newren via GitGitGadget, Mar 19, 2023
  18. Ævar Arnfjörð BjarmasonMar 20, 2023
  19. Elijah NewrenMar 20, 2023
  20. 00/16 Header cleanupsElijah Newren via GitGitGadget, Mar 21, 2023
  21. 01/16 treewide: remove unnecessary cache.h inclusion from a few headersElijah Newren via GitGitGadget, Mar 21, 2023
  22. 03/16 treewide: remove unnecessary inclusion of gettext.hElijah Newren via GitGitGadget, Mar 21, 2023
  23. 04/16 treewide: remove unnecessary cache.h inclusion from several sourcesElijah Newren via GitGitGadget, Mar 21, 2023
  24. 05/16 environment: move comment_line_char from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  25. 07/16 cache.h: remove expand_user_path()Elijah Newren via GitGitGadget, Mar 21, 2023
  26. 06/16 abspath.h: move absolute path functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  27. 08/16 path.h: move function declarations for path.c functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  28. 10/16 treewide: remove unnecessary includes of cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  29. 12/16 treewide: remove cache.h inclusion due to environment.h changesElijah Newren via GitGitGadget, Mar 21, 2023
  30. 09/16 wrapper.h: move declarations for wrapper.c functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  31. 11/16 environment.h: move declarations for environment.c functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  32. 02/16 treewide: be explicit about dependence on gettext.hElijah Newren via GitGitGadget, Mar 21, 2023
  33. 14/16 treewide: remove cache.h inclusion due to setup.h changesElijah Newren via GitGitGadget, Mar 21, 2023
  34. 15/16 write-or-die.h: move declarations for write-or-die.c functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  35. 16/16 csum-file.h: remove unnecessary inclusion of cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  36. 13/16 setup.h: move declarations for setup.c functions from cache.hElijah Newren via GitGitGadget, Mar 21, 2023
  37. Jonathan TanMar 21, 2023

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.