Re: [PATCH 3/6] receive-pack: receive.denyDeleteCurrent
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:08
Jeff King [off-list ref] writes:
Should the denyCurrentBranch code be triggering at all on a deletion?
That is, if I have:
[receive]
denyCurrentBranch = refuse
denyDeleteCurrent = ignore
should such a deletion be refused or allowed?
I think denyCurrentBranch means do not touch the currently checked out
branch, so 'refuse' there should trump whatever denyDeleteCurrent says as
long as the repository has a work tree.
Perhaps the logic needs to be restructured to:
if (the push affects the current branch) {
if (in a repository with a work tree) {
decide if we want to refuse or allow;
decide what message to issue;
}
if (deletion and we decided not to refuse) {
decide if we want to refuse or allow;
decide what message to issue;
}
give message(s), possibly with a paragraph break in between;
if (refuse)
refuse;
}