pull --rebase/remote rename: document and honor single-letter abbreviations rebase...
authorBert Wesarg <redacted>
Mon, 27 Jan 2020 07:04:27 +0000 (08:04 +0100)
committerJunio C Hamano <redacted>
Mon, 10 Feb 2020 18:52:10 +0000 (10:52 -0800)
commit88f8576eda2880587fb4487ba469d909dbe35a7b
tree8d3f3e2934a0461a114b0f989df36be028c136c8
parent145d59f48233c64cb8a9262c9f1451cc7d66b530
pull --rebase/remote rename: document and honor single-letter abbreviations rebase types

When 46af44b07d (pull --rebase=<type>: allow single-letter abbreviations
for the type, 2018-08-04) landed in Git, it had the side effect that
not only 'pull --rebase=<type>' accepted the single-letter abbreviations
but also the 'pull.rebase' and 'branch.<name>.rebase' configurations.

However, 'git remote rename' did not honor these single-letter
abbreviations when reading the 'branch.*.rebase' configurations.

We now document the single-letter abbreviations and both code places
share a common function to parse the values of 'git pull --rebase=*',
'pull.rebase', and 'branches.*.rebase'.

The only functional change is the handling of the `branch_info::rebase`
value. Before it was an unsigned enum, thus the truth value could be
checked with `branch_info::rebase != 0`. But `enum rebase_type` is
signed, thus the truth value must now be checked with
`branch_info::rebase >= REBASE_TRUE`

Signed-off-by: Bert Wesarg <redacted>
Signed-off-by: Junio C Hamano <redacted>
Documentation/config/branch.txt
Documentation/config/pull.txt
Makefile
builtin/pull.c
builtin/remote.c
rebase.c [new file with mode: 0644]
rebase.h [new file with mode: 0644]
git clone https://git.99rst.org/PROJECT