From: Junio C Hamano Date: Mon, 24 Aug 2026 15:07:50 GMT Subject: Re: [PATCH v14 7/8] history: create squashed commits without editing Message-ID: In-Reply-To: <29ada18c-b849-4bc3-aad3-b4fdc09c81f9@gmail.com> Phillip Wood writes: > On 20/08/2026 21:10, Junio C Hamano wrote: >> "Harald Nordgren via GitGitGadget" writes: >> >>> + /* >>> + * Allow "fixup! ", but not "fixup! HEAD^" or >>> + * "fixup! main". If the target is not being squshed check the subject >>> + * to allow "fixup! abc123" and "fixup! " to be >>> + * squashed together. >>> + */ >>> + target = lookup_commit_reference_by_name(s); >>> + if (target && istarts_with(oid_to_hex(&target->object.oid), s)) { >> >> Why istarts_with()? "fixup! ABCdef" should not be accepted, should it? > > I agree there isn't really a compelling case for mixed case oids, but > accepting all uppercase, or all lowercase seems reasonable, or are we Tell that to brian who wrote the bc/restrict-hex-to-lowercase topic in <20260729233215.398654-7-sandals@crustytoothpaste.net>. > planning to completely ban uppercase oids as brain has suggested? The > aim here is to accept any oid that rebase would, but not accept ref names. I understand that we never emitted hexadecimal containing uppercase letters ourselves, so 'commit --fixup' and friends wouldn't have added anything that requires istarts_with(). So accepting any oid that we would have given the users after "fixup!" but not refnames can be achieved by starts_with() just fine, no?