revert(3p/git): Revert merge of git upstream at v2.26.2

This causes cgit to serve error pages, which is undesirable.

This reverts commit 5229c9b232, reversing
changes made to f2b211131f.
This commit is contained in:
Vincent Ambo 2020-05-26 00:06:52 +01:00
parent 6f8fbf4aa4
commit 93ba78d6f4
1006 changed files with 60537 additions and 148724 deletions

View file

@ -47,13 +47,15 @@ static void add_head_info(struct worktree *wt)
static struct worktree *get_main_worktree(void)
{
struct worktree *worktree = NULL;
struct strbuf path = STRBUF_INIT;
struct strbuf worktree_path = STRBUF_INIT;
strbuf_add_absolute_path(&worktree_path, get_git_common_dir());
strbuf_strip_suffix(&worktree_path, "/.");
if (!strbuf_strip_suffix(&worktree_path, "/.git"))
strbuf_strip_suffix(&worktree_path, "/.");
strbuf_addf(&path, "%s/HEAD", get_git_common_dir());
worktree = xcalloc(1, sizeof(*worktree));
worktree->path = strbuf_detach(&worktree_path, NULL);
/*
@ -67,6 +69,7 @@ static struct worktree *get_main_worktree(void)
is_bare_repository();
add_head_info(worktree);
strbuf_release(&path);
strbuf_release(&worktree_path);
return worktree;
}
@ -212,6 +215,7 @@ struct worktree *find_worktree(struct worktree **list,
const char *arg)
{
struct worktree *wt;
char *path;
char *to_free = NULL;
if ((wt = find_worktree_by_suffix(list, arg)))
@ -219,17 +223,11 @@ struct worktree *find_worktree(struct worktree **list,
if (prefix)
arg = to_free = prefix_filename(prefix, arg);
wt = find_worktree_by_path(list, arg);
free(to_free);
return wt;
}
struct worktree *find_worktree_by_path(struct worktree **list, const char *p)
{
char *path = real_pathdup(p, 0);
if (!path)
path = real_pathdup(arg, 0);
if (!path) {
free(to_free);
return NULL;
}
for (; *list; list++) {
const char *wt_path = real_path_if_valid((*list)->path);
@ -237,6 +235,7 @@ struct worktree *find_worktree_by_path(struct worktree **list, const char *p)
break;
}
free(path);
free(to_free);
return *list;
}