From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: pclouds@gmail.com
Cc: avarab@gmail.com, git@vger.kernel.org, gitster@pobox.com,
me@ttaylorr.com, "Eric Sunshine" <sunshine@sunshineco.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: [PATCH v3 0/2] Per-worktree config files
Date: Tue, 2 Oct 2018 18:06:56 +0200 [thread overview]
Message-ID: <20181002160658.15891-1-pclouds@gmail.com> (raw)
In-Reply-To: <20180929153005.10599-1-pclouds@gmail.com>
v3 changes are minor (besides test_cmp_config), mostly document
cleanup. Diff
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 44407e69db..e036ff7b86 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -4,7 +4,7 @@ CONFIGURATION FILE
The Git configuration file contains a number of variables that affect
the Git commands' behavior. The files `.git/config` and optionally
`config.worktree` (see `extensions.worktreeConfig` below) in each
-repository is used to store the configuration for that repository, and
+repository are used to store the configuration for that repository, and
`$HOME/.gitconfig` is used to store a per-user configuration as
fallback values for the `.git/config` file. The file `/etc/gitconfig`
can be used to store a system-wide default configuration.
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index aa88278dde..408c87c9ef 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -221,7 +221,7 @@ $ git config extensions.worktreeConfig true
In this mode, specific configuration stays in the path pointed by `git
rev-parse --git-path config.worktree`. You can add or update
configuration in this file with `git config --worktree`. Older Git
-versions may will refuse to access repositories with this extension.
+versions will refuse to access repositories with this extension.
Note that in this file, the exception for `core.bare` and `core.worktree`
is gone. If you have them in $GIT_DIR/config before, you must move
@@ -283,6 +283,9 @@ to `/path/main/.git/worktrees/test-next` then a file named
`test-next` entry from being pruned. See
linkgit:gitrepository-layout[5] for details.
+When extensions.worktreeConfig is enabled, the config file
+`.git/worktrees/<id>/config.worktree` is read after `.git/config` is.
+
LIST OUTPUT FORMAT
------------------
The worktree list command has two output formats. The default format shows the
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 4cd7fb8fdf..2149b88392 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -747,28 +747,27 @@ test_cmp() {
$GIT_TEST_CMP "$@"
}
-# similar to test_cmp but $2 is a config key instead of actual value
-# it can also accept -C to read from a different repo, e.g.
+# Check that the given config key has the expected value.
#
-# test_cmp_config -C xyz foo core.bar
+# test_cmp_config [-C <dir>] <expected-value>
+# [<git-config-options>...] <config-key>
#
-# is sort of equivalent of
+# for example to check that the value of core.bar is foo
+#
+# test_cmp_config foo core.bar
#
-# test "foo" = "$(git -C xyz core.bar)"
-
test_cmp_config() {
- if [ "$1" = "-C" ]
+ local GD
+ if test "$1" = "-C"
then
shift &&
GD="-C $1" &&
shift
- else
- GD=
fi &&
- echo "$1" >expected &&
+ printf "%s\n" "$1" >expect.config &&
shift &&
- git $GD config "$@" >actual &&
- test_cmp expected actual
+ git $GD config "$@" >actual.config &&
+ test_cmp expect.config actual.config
}
# test_cmp_bin - helper to compare binary files
Nguyễn Thái Ngọc Duy (2):
t1300: extract and use test_cmp_config()
worktree: add per-worktree config files
Documentation/config.txt | 12 +++-
Documentation/git-config.txt | 26 ++++++---
Documentation/git-worktree.txt | 33 +++++++++++
Documentation/gitrepository-layout.txt | 8 +++
builtin/config.c | 19 ++++++-
cache.h | 2 +
config.c | 11 ++++
environment.c | 1 +
setup.c | 40 ++++++++++---
t/t1300-config.sh | 79 +++++++-------------------
t/t2029-worktree-config.sh | 79 ++++++++++++++++++++++++++
t/test-lib-functions.sh | 23 ++++++++
12 files changed, 255 insertions(+), 78 deletions(-)
create mode 100755 t/t2029-worktree-config.sh
--
2.19.0.342.gc057aaf40a.dirty
next prev parent reply other threads:[~2018-10-02 16:07 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-23 17:04 [PATCH] worktree: add per-worktree config files Nguyễn Thái Ngọc Duy
2018-09-23 20:47 ` Eric Sunshine
2018-09-24 14:21 ` Taylor Blau
2018-09-25 15:57 ` Duy Nguyen
2018-09-29 13:53 ` Duy Nguyen
2018-09-25 21:26 ` Junio C Hamano
2018-09-26 15:48 ` Duy Nguyen
2018-09-26 17:40 ` Junio C Hamano
2018-09-27 15:24 ` Wherefor worktrees? Marc Branchaud
2018-09-27 16:36 ` Duy Nguyen
2018-09-26 18:25 ` [PATCH] worktree: add per-worktree config files Ævar Arnfjörð Bjarmason
2018-09-27 17:24 ` Duy Nguyen
2018-09-27 18:34 ` Ævar Arnfjörð Bjarmason
2018-09-27 18:49 ` Duy Nguyen
2018-09-29 6:36 ` Duy Nguyen
2018-09-29 15:30 ` [PATCH v2 0/2] Per-worktree " Nguyễn Thái Ngọc Duy
2018-09-29 15:30 ` [PATCH v2 1/2] t1300: extract and use test_cmp_config() Nguyễn Thái Ngọc Duy
2018-09-30 4:05 ` Eric Sunshine
2018-09-30 12:31 ` SZEDER Gábor
2018-09-29 15:30 ` [PATCH v2 2/2] worktree: add per-worktree config files Nguyễn Thái Ngọc Duy
2018-09-30 4:32 ` Eric Sunshine
2018-09-30 7:15 ` Duy Nguyen
2018-09-30 7:24 ` Eric Sunshine
2018-09-30 7:36 ` Duy Nguyen
2018-10-02 16:06 ` Nguyễn Thái Ngọc Duy [this message]
2018-10-02 16:06 ` [PATCH v3 1/2] t1300: extract and use test_cmp_config() Nguyễn Thái Ngọc Duy
2018-10-03 7:46 ` Eric Sunshine
2018-10-02 16:06 ` [PATCH v3 2/2] worktree: add per-worktree config files Nguyễn Thái Ngọc Duy
2018-10-21 14:02 ` [PATCH v4 0/2] Per-worktree " Nguyễn Thái Ngọc Duy
2018-10-21 14:02 ` [PATCH v4 1/2] t1300: extract and use test_cmp_config() Nguyễn Thái Ngọc Duy
2018-10-21 14:02 ` [PATCH v4 2/2] worktree: add per-worktree config files Nguyễn Thái Ngọc Duy
2018-10-22 4:54 ` Junio C Hamano
2018-10-22 14:32 ` Duy Nguyen
2018-10-25 9:16 ` Junio C Hamano
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=20181002160658.15891-1-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@ttaylorr.com \
--cc=sunshine@sunshineco.com \
--cc=szeder.dev@gmail.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).