From: René Scharfe Date: Mon, 27 Feb 2017 22:18:16 GMT Subject: Re: [PATCH 1/2] apply: guard against renames of non-existant empty files Message-ID: In-Reply-To: Am 27.02.2017 um 21:10 schrieb Junio C Hamano: > René Scharfe writes: > >> Would it make sense to mirror the previously existing condition and >> check for is_new instead? I.e.: >> >> if ((!patch->is_delete && !patch->new_name) || >> (!patch->is_new && !patch->old_name)) { >> > > Yes, probably. > >> or >> >> if (!(patch->is_delete || patch->new_name) || >> !(patch->is_new || patch->old_name)) { > > This happens after calling parse_git_header() so we should know the > actual value of is_delete and is_new by now (instead of mistaking > -1 aka "unknown" as true), so this rewrite would also be OK. The two variants are logically equivalent -- (!a && !b) == !(a || b). I wonder if the second one may be harder to read, though. René