aboutsummaryrefslogtreecommitdiff
path: root/path.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-02-03 16:12:33 -0800
committerJunio C Hamano <gitster@pobox.com>2025-02-03 16:12:33 -0800
commite5a0d5d8bbeed7d0cb21533f9727591e110f50b8 (patch)
treed832eac70fdd06842f431101c655390396fa05ce /path.h
parent0cb454c0727efc1e7ef3ea23d7d6391a80769118 (diff)
parentbc204b742735ae06f65bb20291c95985c9633b7f (diff)
downloadgit-e5a0d5d8bbeed7d0cb21533f9727591e110f50b8.tar.xz
Merge branch 'master' into ds/backfill
* master: (446 commits) The seventh batch The sixth batch The fifth batch The fourth batch refs/reftable: fix uninitialized memory access of `max_index` remote: announce removal of "branches/" and "remotes/" The third batch hash.h: drop unsafe_ function variants csum-file: introduce hashfile_checkpoint_init() t/helper/test-hash.c: use unsafe_hash_algo() csum-file.c: use unsafe_hash_algo() hash.h: introduce `unsafe_hash_algo()` csum-file.c: extract algop from hashfile_checksum_valid() csum-file: store the hash algorithm as a struct field t/helper/test-tool: implement sha1-unsafe helper trace2: prevent segfault on config collection with valueless true refs: fix creation of reflog entries for symrefs ci: wire up Visual Studio build with Meson ci: raise error when Meson generates warnings meson: fix compilation with Visual Studio ...
Diffstat (limited to 'path.h')
-rw-r--r--path.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/path.h b/path.h
index e91d19fff6..5f6c85e5f8 100644
--- a/path.h
+++ b/path.h
@@ -156,7 +156,22 @@ int calc_shared_perm(int mode);
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);
+
+/* The bits are as follows:
+ *
+ * - ENTER_REPO_STRICT: callers that require exact paths (as opposed
+ * to allowing known suffixes like ".git", ".git/.git" to be
+ * omitted) can set this bit.
+ *
+ * - ENTER_REPO_ANY_OWNER_OK: callers that are willing to run without
+ * ownership check can set this bit.
+ */
+enum {
+ ENTER_REPO_STRICT = (1<<0),
+ ENTER_REPO_ANY_OWNER_OK = (1<<1),
+};
+
+const char *enter_repo(const char *path, unsigned flags);
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);