summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2005-11-20 05:52:22 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-20 07:15:07 (GMT)
commit4ddba79db76bd6425f00e99ceb1d82d179319aec (patch)
tree9cf3d1dec1dcfa54ab21573a6eacd6ea02e896ce /Documentation
parent7b5d895da6d86eda36af84516a359192ca1da469 (diff)
downloadgit-4ddba79db76bd6425f00e99ceb1d82d179319aec.zip
git-4ddba79db76bd6425f00e99ceb1d82d179319aec.tar.gz
git-4ddba79db76bd6425f00e99ceb1d82d179319aec.tar.bz2
git-config-set: add more options
... namely --replace-all, to replace any amount of matching lines, not just 0 or 1, --get, to get the value of one key, --get-all, the multivar version of --get, and --unset-all, which deletes all matching lines from .git/config Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-config-set.txt62
1 files changed, 54 insertions, 8 deletions
diff --git a/Documentation/git-config-set.txt b/Documentation/git-config-set.txt
index 8e897be..c707fbc 100644
--- a/Documentation/git-config-set.txt
+++ b/Documentation/git-config-set.txt
@@ -8,12 +8,18 @@ git-config-set - Set options in .git/config.
SYNOPSIS
--------
-'git-config-set' ( name [value [value_regex]] | --unset name [value_regex] )
+'git-config-set' name [value [value_regex]]
+'git-config-set' --replace-all name [value [value_regex]]
+'git-config-set' --get name [value_regex]
+'git-config-set' --get-all name [value_regex]
+'git-config-set' --unset name [value_regex]
+'git-config-set' --unset-all name [value_regex]
DESCRIPTION
-----------
-You can set/replace/unset options with this command. The name is actually
-the section and the key separated by a dot, and the value will be escaped.
+You can query/set/replace/unset options with this command. The name is
+actually the section and the key separated by a dot, and the value will be
+escaped.
If you want to set/unset an option which can occor on multiple lines, you
should provide a POSIX regex for the value.
@@ -31,8 +37,23 @@ This command will fail if
OPTIONS
-------
+--replace-all::
+ Default behaviour is to replace at most one line. This replaces
+ all lines matching the key (and optionally the value_regex)
+
+--get::
+ Get the value for a given key (optionally filtered by a regex
+ matching the value).
+
+--get-all::
+ Like get, but does not fail if the number of values for the key
+ is not exactly one.
+
--unset::
- Remove the given option from .git/config
+ Remove the line matching the key from .git/config.
+
+--unset-all::
+ Remove all matching lines from .git/config.
EXAMPLE
@@ -84,14 +105,39 @@ To delete the entry for renames, do
% git config-set --unset diff.renames
------------
-or just
+If you want to delete an entry for a multivar (like proxy.command above),
+you have to provide a regex matching the value of exactly one line.
+
+To query the value for a given key, do
------------
-% git config-set diff.renames
+% git config-set --get core.filemode
------------
-If you want to delete an entry for a multivar (like proxy.command above),
-you have to provide a regex matching the value of exactly one line.
+or
+
+------------
+% git config-set core.filemode
+------------
+
+or, to query a multivar:
+
+------------
+% git config-set --get proxy.command "for kernel.org$"
+------------
+
+If you want to know all the values for a multivar, do:
+
+------------
+% git config-set --get-all proxy.command
+------------
+
+If you like to live dangerous, you can replace *all* proxy.commands by a
+new one with
+
+------------
+% git config-set --replace-all proxy.command ssh
+------------
Author