Merge branch 'nd/worktree-cleanup-post-head-protection'
Further preparatory clean-up for "worktree" feature continues.
* nd/worktree-cleanup-post-head-protection:
worktree: simplify prefixing paths
worktree: avoid 0{40}, too many zeroes, hard to read
worktree.c: use is_dot_or_dotdot()
git-worktree.txt: keep subcommand listing in alphabetical order
worktree.c: rewrite mark_current_worktree() to avoid strbuf
completion: support git-worktree
This commit is contained in:
@ -13,8 +13,8 @@
|
||||
|
||||
static const char * const worktree_usage[] = {
|
||||
N_("git worktree add [<options>] <path> [<branch>]"),
|
||||
N_("git worktree prune [<options>]"),
|
||||
N_("git worktree list [<options>]"),
|
||||
N_("git worktree prune [<options>]"),
|
||||
NULL
|
||||
};
|
||||
|
||||
@ -95,7 +95,7 @@ static void prune_worktrees(void)
|
||||
if (!dir)
|
||||
return;
|
||||
while ((d = readdir(dir)) != NULL) {
|
||||
if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
|
||||
if (is_dot_or_dotdot(d->d_name))
|
||||
continue;
|
||||
strbuf_reset(&reason);
|
||||
if (!prune_worktree(d->d_name, &reason))
|
||||
@ -262,7 +262,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, "0000000000000000000000000000000000000000");
|
||||
write_file(sb.buf, sha1_to_hex(null_sha1));
|
||||
strbuf_reset(&sb);
|
||||
strbuf_addf(&sb, "%s/commondir", sb_repo.buf);
|
||||
write_file(sb.buf, "../..");
|
||||
@ -337,7 +337,7 @@ static int add(int ac, const char **av, const char *prefix)
|
||||
if (ac < 1 || ac > 2)
|
||||
usage_with_options(worktree_usage, options);
|
||||
|
||||
path = prefix ? prefix_filename(prefix, strlen(prefix), av[0]) : av[0];
|
||||
path = prefix_filename(prefix, strlen(prefix), av[0]);
|
||||
branch = ac < 2 ? "HEAD" : av[1];
|
||||
|
||||
if (!strcmp(branch, "-"))
|
||||
@ -470,6 +470,8 @@ int cmd_worktree(int ac, const char **av, const char *prefix)
|
||||
|
||||
if (ac < 2)
|
||||
usage_with_options(worktree_usage, options);
|
||||
if (!prefix)
|
||||
prefix = "";
|
||||
if (!strcmp(av[1], "add"))
|
||||
return add(ac - 1, av + 1, prefix);
|
||||
if (!strcmp(av[1], "prune"))
|
||||
|
||||
Reference in New Issue
Block a user