From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
git@drmicha.warpmail.net, Jens.Lehmann@web.de,
larsxschneider@gmail.com, sbeller@google.com,
mhagger@alum.mit.edu, max@max630.net,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH v5 4/4] t2029: add tests for per-worktree config
Date: Tue, 10 Jan 2017 18:25:24 +0700 [thread overview]
Message-ID: <20170110112524.12870-5-pclouds@gmail.com> (raw)
In-Reply-To: <20170110112524.12870-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
t/t2029-worktree-config.sh (new +x) | 82 +++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
create mode 100755 t/t2029-worktree-config.sh
diff --git a/t/t2029-worktree-config.sh b/t/t2029-worktree-config.sh
new file mode 100755
index 0000000..4ebdf13
--- /dev/null
+++ b/t/t2029-worktree-config.sh
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+test_description="config file in multi worktree"
+
+. ./test-lib.sh
+
+cmp_config() {
+ if [ "$1" = "-C" ]; then
+ shift &&
+ GD="-C $1" &&
+ shift
+ else
+ GD=
+ fi &&
+ echo "$1" >expected &&
+ shift &&
+ git $GD config "$@" >actual &&
+ test_cmp expected actual
+}
+
+test_expect_success 'setup' '
+ test_commit start &&
+ git config --worktree per.worktree is-ok &&
+ git worktree add wt1 &&
+ git worktree add wt2 &&
+ git config --worktree per.worktree is-ok &&
+ cmp_config true extensions.worktreeConfig
+'
+
+test_expect_success 'config is shared as before' '
+ git config this.is shared &&
+ cmp_config shared this.is &&
+ cmp_config -C wt1 shared this.is &&
+ cmp_config -C wt2 shared this.is
+'
+
+test_expect_success 'config is shared (set from another worktree)' '
+ git -C wt1 config that.is also-shared &&
+ cmp_config also-shared that.is &&
+ cmp_config -C wt1 also-shared that.is &&
+ cmp_config -C wt2 also-shared that.is
+'
+
+test_expect_success 'config private to main worktree' '
+ git config --worktree this.is for-main &&
+ cmp_config for-main this.is &&
+ cmp_config -C wt1 shared this.is &&
+ cmp_config -C wt2 shared this.is
+'
+
+test_expect_success 'config private to linked worktree' '
+ git -C wt1 config --worktree this.is for-wt1 &&
+ cmp_config for-main this.is &&
+ cmp_config -C wt1 for-wt1 this.is &&
+ cmp_config -C wt2 shared this.is
+'
+
+test_expect_success 'core.bare no longer for main only' '
+ git config core.bare true &&
+ cmp_config true core.bare &&
+ cmp_config -C wt1 true core.bare &&
+ cmp_config -C wt2 true core.bare &&
+ git config --unset core.bare
+'
+
+test_expect_success 'config.worktree no longer read without extension' '
+ git config --unset extensions.worktreeConfig &&
+ cmp_config shared this.is &&
+ cmp_config -C wt1 shared this.is &&
+ cmp_config -C wt2 shared this.is
+'
+
+test_expect_success 'config --worktree migrate core.bare and core.worktree' '
+ git config core.bare true &&
+ git config --worktree foo.bar true &&
+ cmp_config true extensions.worktreeConfig &&
+ cmp_config true foo.bar &&
+ cmp_config true core.bare &&
+ ! git -C wt1 config core.bare
+'
+
+test_done
--
2.8.2.524.g6ff3d78
next prev parent reply other threads:[~2017-01-10 11:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-10 11:25 [PATCH v5 0/4] Per-worktree config file support Nguyễn Thái Ngọc Duy
2017-01-10 11:25 ` [PATCH v5 1/4] config: read per-worktree config files Nguyễn Thái Ngọc Duy
2017-01-10 11:25 ` [PATCH v5 2/4] config: --worktree for manipulating per-worktree config file Nguyễn Thái Ngọc Duy
2017-01-10 16:52 ` Stefan Beller
2017-01-10 11:25 ` [PATCH v5 3/4] config: automatically migrate to new config layout when --worktree is used Nguyễn Thái Ngọc Duy
2017-01-10 11:25 ` Nguyễn Thái Ngọc Duy [this message]
2017-01-10 11:33 ` [PATCH/RFC 5/4] Redefine core.bare in multiple working tree setting Nguyễn Thái Ngọc Duy
2017-01-12 23:08 ` Junio C Hamano
2017-01-19 12:02 ` Duy Nguyen
2017-01-10 11:41 ` [PATCH v5 0/4] Per-worktree config file support Duy Nguyen
2017-01-10 17:01 ` Stefan Beller
2017-01-19 12:09 ` Duy Nguyen
2017-01-19 20:03 ` Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170110112524.12870-5-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=Jens.Lehmann@web.de \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=larsxschneider@gmail.com \
--cc=max@max630.net \
--cc=mhagger@alum.mit.edu \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).