Re: [PATCH v3] worktree: add: introduce --checkout option
From: Eric Sunshine <hidden>
Date: 2016-06-15 23:09:04
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
On Fri, Mar 25, 2016 at 11:25:37AM +0000, Ray Zhang wrote:
By adding this option which defaults to true, we can use the corresponding --no-checkout to make some customizations before the checkout, like sparse checkout, etc. Signed-off-by: Ray Zhang <redacted> --- 1. reword on `--no-checkout` in Documentation/git-worktree.txt 2. update the test for `--no-checkout` 3. add a test for `--checkout`
Thanks, this version of the patch looks good and is:
Reviewed-by: Eric Sunshine [off-list ref]
with or without the minor suggestions below. (If you do re-roll, feel
free to add my Reviewed-by: if you include these suggestions but not
if you make other major changes.)
quoted hunk ↗ jump to hunk
---diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt@@ -87,6 +87,12 @@ OPTIONS +--[no-]checkout:: + By default, `add` checks out HEAD, however, `--no-checkout` can
I realize that this description is just a verbatim copy of what I
suggested during review[1], but in retrospect, I think
s/HEAD/`<branch>`/ would be clearer and more consistent:
By default, `add` checks out `<branch>`, however, ...
[1]: http://article.gmane.org/gmane.comp.version-control.git/289840
quoted hunk ↗ jump to hunk
+ be used to suppress checkout in order to make customizations, + such as configuring sparse-checkout. See "Sparse checkout" + in linkgit:git-read-tree[1].diff --git a/t/t2025-worktree-add.sh b/t/t2025-worktree-add.sh@@ -213,4 +213,18 @@ test_expect_success 'local clone from linked checkout' ' +test_expect_success '"add" worktree with --no-checkout' ' + git worktree add --no-checkout -b swamp swamp && + ls swamp >actual && test_line_count = 0 actual &&
Style: One statement per line, so this should be split over two lines.
+ ( + cd swamp && git reset --hard && + test_cmp ../init.t init.t + )
No need for the subshell. This can be written more simply as:
git -C swamp reset --hard &&
test_cmp init.t swamp/init.t
+' + +test_expect_success '"add" worktree with --checkout' ' + git worktree add --checkout -b swmap2 swamp2 && + ( cd swamp2 && test_cmp ../init.t init.t )
Likewise, you can drop the subshell:
test_cmp init.t swamp2/init.t
+' + test_done
For convenience, the above suggestions would look like this (applied atop your patch). Feel free to fold them in if you re-roll.
--- 8< ---
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index c2796bb..c622345 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt@@ -88,7 +88,7 @@ OPTIONS in linkgit:git-checkout[1]. --[no-]checkout:: - By default, `add` checks out HEAD, however, `--no-checkout` can + By default, `add` checks out `<branch>`, however, `--no-checkout` can be used to suppress checkout in order to make customizations, such as configuring sparse-checkout. See "Sparse checkout" in linkgit:git-read-tree[1].
diff --git a/t/t2025-worktree-add.sh b/t/t2025-worktree-add.sh
index 1ff96af..472b811 100755
--- a/t/t2025-worktree-add.sh
+++ b/t/t2025-worktree-add.sh@@ -215,16 +215,15 @@ test_expect_success 'local clone from linked checkout' ' test_expect_success '"add" worktree with --no-checkout' ' git worktree add --no-checkout -b swamp swamp && - ls swamp >actual && test_line_count = 0 actual && - ( - cd swamp && git reset --hard && - test_cmp ../init.t init.t - ) + ls swamp >actual && + test_line_count = 0 actual && + git -C swamp reset --hard && + test_cmp init.t swamp/init.t ' test_expect_success '"add" worktree with --checkout' ' git worktree add --checkout -b swmap2 swamp2 && - ( cd swamp2 && test_cmp ../init.t init.t ) + test_cmp init.t swamp2/init.t ' test_done --- 8< ---