setup_path();
- if (!enter_repo(service_dir, 0))
+ if (!enter_repo(the_repository, service_dir, 0))
die("'%s' does not appear to be a git repository", service_dir);
repo_config(the_repository, receive_pack_config, NULL);
if (argc != 2)
usage(upload_archive_usage);
- if (!enter_repo(argv[1], 0))
+ if (!enter_repo(the_repository, argv[1], 0))
die("'%s' does not appear to be a git repository", argv[1]);
init_archivers();
if (strict)
enter_repo_flags |= ENTER_REPO_STRICT;
- if (!enter_repo(dir, enter_repo_flags))
+ if (!enter_repo(the_repository, dir, enter_repo_flags))
die("'%s' does not appear to be a git repository", dir);
switch (determine_protocol_version_server()) {
}
enter_repo_flags = strict_paths ? ENTER_REPO_STRICT : 0;
- path = enter_repo(dir, enter_repo_flags);
+ path = enter_repo(the_repository, dir, enter_repo_flags);
if (!path && base_path && base_path_relaxed) {
/*
* if we fail and base_path_relaxed is enabled, try without
* prefixing the base path
*/
dir = directory;
- path = enter_repo(dir, enter_repo_flags);
+ path = enter_repo(the_repository, dir, enter_repo_flags);
}
if (!path) {
not_found(&hdr, "Request not supported: '%s'", dir);
setup_path();
- if (!enter_repo(dir, 0))
+ if (!enter_repo(the_repository, dir, 0))
not_found(&hdr, "Not a git repository: '%s'", dir);
if (!getenv("GIT_HTTP_EXPORT_ALL") &&
access("git-daemon-export-ok", F_OK) )
return result;
}
-const char *enter_repo(const char *path, unsigned flags)
+const char *enter_repo(struct repository *repo, const char *path, unsigned flags)
{
static struct strbuf validated_path = STRBUF_INIT;
static struct strbuf used_path = STRBUF_INIT;
}
if (is_git_directory(".")) {
- set_git_dir(the_repository, ".", 0);
+ set_git_dir(repo, ".", 0);
check_repository_format(NULL);
return path;
}
* links. User relative paths are also returned as they are given,
* except DWIM suffixing.
*/
-const char *enter_repo(const char *path, unsigned flags);
+const char *enter_repo(struct repository *repo, const char *path, unsigned flags);
const char *setup_git_directory_gently(int *);
const char *setup_git_directory(void);