merge(3p/git): Merge git upstream at v2.26.2
This commit is contained in:
commit
5229c9b232
1006 changed files with 149006 additions and 60819 deletions
16
third_party/git/builtin/worktree.c
vendored
16
third_party/git/builtin/worktree.c
vendored
|
|
@ -10,7 +10,6 @@
|
|||
#include "run-command.h"
|
||||
#include "sigchain.h"
|
||||
#include "submodule.h"
|
||||
#include "refs.h"
|
||||
#include "utf8.h"
|
||||
#include "worktree.h"
|
||||
|
||||
|
|
@ -235,14 +234,7 @@ static void validate_worktree_add(const char *path, const struct add_opts *opts)
|
|||
die(_("'%s' already exists"), path);
|
||||
|
||||
worktrees = get_worktrees(0);
|
||||
/*
|
||||
* find_worktree()'s suffix matching may undesirably find the main
|
||||
* rather than a linked worktree (for instance, when the basenames
|
||||
* of the main worktree and the one being created are the same).
|
||||
* We're only interested in linked worktrees, so skip the main
|
||||
* worktree with +1.
|
||||
*/
|
||||
wt = find_worktree(worktrees + 1, NULL, path);
|
||||
wt = find_worktree_by_path(worktrees, path);
|
||||
if (!wt)
|
||||
goto done;
|
||||
|
||||
|
|
@ -350,7 +342,7 @@ static int add_worktree(const char *path, const char *refname,
|
|||
*/
|
||||
strbuf_reset(&sb);
|
||||
strbuf_addf(&sb, "%s/HEAD", sb_repo.buf);
|
||||
write_file(sb.buf, "%s", sha1_to_hex(null_sha1));
|
||||
write_file(sb.buf, "%s", oid_to_hex(&null_oid));
|
||||
strbuf_reset(&sb);
|
||||
strbuf_addf(&sb, "%s/commondir", sb_repo.buf);
|
||||
write_file(sb.buf, "../..");
|
||||
|
|
@ -377,7 +369,7 @@ static int add_worktree(const char *path, const char *refname,
|
|||
if (opts->checkout) {
|
||||
cp.argv = NULL;
|
||||
argv_array_clear(&cp.args);
|
||||
argv_array_pushl(&cp.args, "reset", "--hard", NULL);
|
||||
argv_array_pushl(&cp.args, "reset", "--hard", "--no-recurse-submodules", NULL);
|
||||
if (opts->quiet)
|
||||
argv_array_push(&cp.args, "--quiet");
|
||||
cp.env = child_env.argv;
|
||||
|
|
@ -880,7 +872,7 @@ static void check_clean_worktree(struct worktree *wt,
|
|||
original_path);
|
||||
ret = xread(cp.out, buf, sizeof(buf));
|
||||
if (ret)
|
||||
die(_("'%s' is dirty, use --force to delete it"),
|
||||
die(_("'%s' contains modified or untracked files, use --force to delete it"),
|
||||
original_path);
|
||||
close(cp.out);
|
||||
ret = finish_command(&cp);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue