Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > On Thu, Oct 13 2022, Phillip Wood via GitGitGadget wrote: > >> From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> >> >> The state files for 'onto' and 'orig_head' should contain a full hex >> oid, change the reading functions from get_oid() to get_oid_hex() to >> reflect this. > ... >> @@ -431,7 +431,7 @@ static int read_basic_state(struct rebase_options *opts) >> opts->head_name = starts_with(head_name.buf, "refs/") ? >> xstrdup(head_name.buf) : NULL; >> strbuf_release(&head_name); >> - if (get_oid(buf.buf, &oid)) >> + if (get_oid_hex(buf.buf, &oid)) > > The change looks sensible, maybe a commit message update + assuring > ourselves that we don't care about anyone manually manipulating these > files (e.g. a script with OID abbreviation that would "echo" to these. "should contain" sufficiently conveys that already, but I do not mind being extra clear, either. You do not want 6c1221c99975ad3216d82de51ed980fbf327d7f8 to be interpreted as a branch whose name is the 40-hex that points at a wrong commit, when it appears on the state file and I think that the proposed log message gives a reasonable explanation why we do not want to use get_oid() and instead use get_oid_hex(). If the code made sure that 40-hex is followed by end-of-line, that would even be better, but it is not required.