Merge branch 'jc/clean-config'
* jc/clean-config: clean: require -f to do damage by default
This commit is contained in:
commit
53d149c54b
@ -345,8 +345,8 @@ branch.<name>.mergeoptions::
|
|||||||
supported.
|
supported.
|
||||||
|
|
||||||
clean.requireForce::
|
clean.requireForce::
|
||||||
A boolean to make git-clean do nothing unless given -f or -n. Defaults
|
A boolean to make git-clean do nothing unless given -f
|
||||||
to false.
|
or -n. Defaults to true.
|
||||||
|
|
||||||
color.branch::
|
color.branch::
|
||||||
A boolean to enable/disable color in the output of
|
A boolean to enable/disable color in the output of
|
||||||
|
@ -20,12 +20,16 @@ require_work_tree
|
|||||||
ignored=
|
ignored=
|
||||||
ignoredonly=
|
ignoredonly=
|
||||||
cleandir=
|
cleandir=
|
||||||
disabled="`git config --bool clean.requireForce`"
|
|
||||||
rmf="rm -f --"
|
rmf="rm -f --"
|
||||||
rmrf="rm -rf --"
|
rmrf="rm -rf --"
|
||||||
rm_refuse="echo Not removing"
|
rm_refuse="echo Not removing"
|
||||||
echo1="echo"
|
echo1="echo"
|
||||||
|
|
||||||
|
# requireForce used to default to false but now it defaults to true.
|
||||||
|
# IOW, lack of explicit "clean.requireForce = false" is taken as
|
||||||
|
# "clean.requireForce = true".
|
||||||
|
disabled=$(git config --bool clean.requireForce || echo true)
|
||||||
|
|
||||||
while test $# != 0
|
while test $# != 0
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -77,7 +77,7 @@ test_expect_success "checkout with dirty tree without -m" '
|
|||||||
test_expect_success "checkout -m with dirty tree" '
|
test_expect_success "checkout -m with dirty tree" '
|
||||||
|
|
||||||
git checkout -f master &&
|
git checkout -f master &&
|
||||||
git clean &&
|
git clean -f &&
|
||||||
|
|
||||||
fill 0 1 2 3 4 5 6 7 8 >one &&
|
fill 0 1 2 3 4 5 6 7 8 >one &&
|
||||||
git checkout -m side &&
|
git checkout -m side &&
|
||||||
@ -99,7 +99,7 @@ test_expect_success "checkout -m with dirty tree" '
|
|||||||
|
|
||||||
test_expect_success "checkout -m with dirty tree, renamed" '
|
test_expect_success "checkout -m with dirty tree, renamed" '
|
||||||
|
|
||||||
git checkout -f master && git clean &&
|
git checkout -f master && git clean -f &&
|
||||||
|
|
||||||
fill 1 2 3 4 5 7 8 >one &&
|
fill 1 2 3 4 5 7 8 >one &&
|
||||||
if git checkout renamer
|
if git checkout renamer
|
||||||
@ -121,7 +121,7 @@ test_expect_success "checkout -m with dirty tree, renamed" '
|
|||||||
|
|
||||||
test_expect_success 'checkout -m with merge conflict' '
|
test_expect_success 'checkout -m with merge conflict' '
|
||||||
|
|
||||||
git checkout -f master && git clean &&
|
git checkout -f master && git clean -f &&
|
||||||
|
|
||||||
fill 1 T 3 4 5 6 S 8 >one &&
|
fill 1 T 3 4 5 6 S 8 >one &&
|
||||||
if git checkout renamer
|
if git checkout renamer
|
||||||
@ -144,7 +144,7 @@ test_expect_success 'checkout -m with merge conflict' '
|
|||||||
|
|
||||||
test_expect_success 'checkout to detach HEAD' '
|
test_expect_success 'checkout to detach HEAD' '
|
||||||
|
|
||||||
git checkout -f renamer && git clean &&
|
git checkout -f renamer && git clean -f &&
|
||||||
git checkout renamer^ &&
|
git checkout renamer^ &&
|
||||||
H=$(git rev-parse --verify HEAD) &&
|
H=$(git rev-parse --verify HEAD) &&
|
||||||
M=$(git show-ref -s --verify refs/heads/master) &&
|
M=$(git show-ref -s --verify refs/heads/master) &&
|
||||||
@ -160,7 +160,7 @@ test_expect_success 'checkout to detach HEAD' '
|
|||||||
|
|
||||||
test_expect_success 'checkout to detach HEAD with branchname^' '
|
test_expect_success 'checkout to detach HEAD with branchname^' '
|
||||||
|
|
||||||
git checkout -f master && git clean &&
|
git checkout -f master && git clean -f &&
|
||||||
git checkout renamer^ &&
|
git checkout renamer^ &&
|
||||||
H=$(git rev-parse --verify HEAD) &&
|
H=$(git rev-parse --verify HEAD) &&
|
||||||
M=$(git show-ref -s --verify refs/heads/master) &&
|
M=$(git show-ref -s --verify refs/heads/master) &&
|
||||||
@ -176,7 +176,7 @@ test_expect_success 'checkout to detach HEAD with branchname^' '
|
|||||||
|
|
||||||
test_expect_success 'checkout to detach HEAD with HEAD^0' '
|
test_expect_success 'checkout to detach HEAD with HEAD^0' '
|
||||||
|
|
||||||
git checkout -f master && git clean &&
|
git checkout -f master && git clean -f &&
|
||||||
git checkout HEAD^0 &&
|
git checkout HEAD^0 &&
|
||||||
H=$(git rev-parse --verify HEAD) &&
|
H=$(git rev-parse --verify HEAD) &&
|
||||||
M=$(git show-ref -s --verify refs/heads/master) &&
|
M=$(git show-ref -s --verify refs/heads/master) &&
|
||||||
|
@ -7,6 +7,8 @@ test_description='git-clean basic tests'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
git config clean.requireForce no
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
|
|
||||||
mkdir -p src &&
|
mkdir -p src &&
|
||||||
@ -244,6 +246,13 @@ test_expect_success 'git-clean -d -X' '
|
|||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'clean.requireForce defaults to true' '
|
||||||
|
|
||||||
|
git config --unset clean.requireForce &&
|
||||||
|
! git-clean
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'clean.requireForce' '
|
test_expect_success 'clean.requireForce' '
|
||||||
|
|
||||||
git config clean.requireForce true &&
|
git config clean.requireForce true &&
|
||||||
|
Loading…
Reference in New Issue
Block a user