revert(3p/git): Revert merge of git upstream at v2.26.2
This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232
, reversing changes made tof2b211131f
.
This commit is contained in:
parent
6f8fbf4aa4
commit
93ba78d6f4
1006 changed files with 60537 additions and 148724 deletions
21
third_party/git/worktree.c
vendored
21
third_party/git/worktree.c
vendored
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue