Re: [PATCH v3 22/23] worktree: add: auto-vivify new branch when <branch> is omitted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 06, 2015 at 12:19:14PM -0700, Junio C Hamano wrote:
> Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes:
> > diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
> > index 377ae0f..da71f50 100644
> > --- a/Documentation/git-worktree.txt
> > +++ b/Documentation/git-worktree.txt
> > @@ -9,7 +9,7 @@ git-worktree - Manage multiple worktrees
> >  SYNOPSIS
> >  --------
> >  [verse]
> > -'git worktree add' [-f] [--detach] [-b <new-branch>] <path> <branch>
> > +'git worktree add' [-f] [--detach] [-b <new-branch>] <path> [<branch>]
> 
> Ahh, OK, this answers my previous question.

Right. I considered squashing this patch with the previous one, in
which case the synopsis question wouldn't have come up, but kept them
separate since they are (or can be) conceptually distinct, and the one
patch builds upon the other (and keeping them separate makes them a
bit easier to review).

> > +	if (ac < 2 && !new_branch && !new_branch_force) {
> > +		int n;
> > +		const char *s = worktree_basename(path, &n);
> > +		new_branch = xstrndup(s, n);
> > +	}
> > +
> 
> and because this is new_branch, not new_branch_force, we will not
> accidentally clobber an existing branch.  The "hotfix" time is when
> the end-user tends to be less careful, and it is a good thing to
> make sure "git worktree add ../hotfix" will not clobber an unrelated
> "hotfix" branch.
> 
> Good.
> 
> Which may be something we would want to have a test for, though.

Good idea. How about the following as a squash-in?

--- 8< ---
From: Eric Sunshine <sunshine@xxxxxxxxxxxxxx>
Subject: [PATCH] fixup! worktree: add: auto-vivify new branch when <branch> is omitted

---
 t/t2025-worktree-add.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/t/t2025-worktree-add.sh b/t/t2025-worktree-add.sh
index 8fe242f..ead8aa2 100755
--- a/t/t2025-worktree-add.sh
+++ b/t/t2025-worktree-add.sh
@@ -150,4 +150,13 @@ test_expect_success '"add" with <branch> omitted' '
 	test_cmp_rev HEAD bat
 '
 
+test_expect_success '"add" auto-vivify does not clobber existing branch' '
+	test_commit c1 &&
+	test_commit c2 &&
+	git branch precious HEAD~1 &&
+	test_must_fail git worktree add precious &&
+	test_cmp_rev HEAD~1 precious &&
+	test_path_is_missing precious
+'
+
 test_done
-- 
2.5.0.rc1.201.ga12d9f8

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]