Merge branch 'jc/doc-opt-tilde-expand'

Describe a case where an option value needs to be spelled as a
separate argument, i.e. "--opt val", not "--opt=val".

* jc/doc-opt-tilde-expand:
  doc: option value may be separate for valid reasons
maint
Junio C Hamano 2024-12-10 10:04:52 +09:00
commit bd31944dda
2 changed files with 15 additions and 0 deletions

View File

@ -90,6 +90,15 @@ scripting Git:
for long options. An option that takes optional option-argument must be for long options. An option that takes optional option-argument must be
written in the 'stuck' form. written in the 'stuck' form.


* Despite the above suggestion, when Arg is a path relative to the
home directory of a user, e.g. ~/directory/file or ~u/d/f, you
may want to use the separate form, e.g. `git foo --file ~/mine`,
not `git foo --file=~/mine`. The shell will expand `~/` in the
former to your home directory, but most shells keep the tilde in
the latter. Some of our commands know how to tilde-expand the
option value even when given in the stuck form, but not all of
them do.

* When you give a revision parameter to a command, make sure the parameter is * When you give a revision parameter to a command, make sure the parameter is
not ambiguous with a name of a file in the work tree. E.g. do not write not ambiguous with a name of a file in the work tree. E.g. do not write
`git log -1 HEAD` but write `git log -1 HEAD --`; the former will not work `git log -1 HEAD` but write `git log -1 HEAD --`; the former will not work

View File

@ -242,6 +242,12 @@ Here are some example specifications:
[credential] [credential]
helper = "foo --bar='whitespace arg'" helper = "foo --bar='whitespace arg'"


# store helper (discouraged) with custom location for the db file;
# use `--file ~/.git-secret.txt`, rather than `--file=~/.git-secret.txt`,
# to allow the shell to expand tilde to the home directory.
[credential]
helper = "store --file ~/.git-secret.txt"

# you can also use an absolute path, which will not use the git wrapper # you can also use an absolute path, which will not use the git wrapper
[credential] [credential]
helper = "/path/to/my/helper --with-arguments" helper = "/path/to/my/helper --with-arguments"