"Phillip Wood via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > To avoid changing the behavior of "git rebase <upstream> <branch>" we > keep the existing call to read_ref() and use lookup_commit_reference() > on the oid returned by that rather than calling > lookup_commit_reference_by_name() which applies the ref dwim rules to > its argument. I agree with the above in that _by_name was an overly broad and wrong function to call. But ... > lookup_commit_reference() will dereference tag objects > but we do not expect the branch being rebased to be pointing to a tag > object. ... if we do not expect to see a tag object, why call _reference() in the first place? Does lookup_commit() not work for the purpose of this code? A bit puzzled...