From: brian m. carlson Date: Mon, 22 Dec 2025 11:56:09 GMT Subject: Re: [BUG] git restore: typo in error message "could not resolve ource" Message-ID: In-Reply-To: On 2025-12-22 at 09:16:07, Zhelyo Zhelev wrote: > Thank you for filling out a Git bug report! > Please answer the following questions to help us understand your issue. > > What did you do before the bug happened? (Steps to reproduce your issue) > I executed the following command in repository: git restore -source > my_base_branch > I have reproduced this on both Windows (git version 2.52.0.windows.1) > and Ubuntu (git version 2.52.0). I can also reproduce this using Git 2.51.0.338.gd7d06c2dae8 on Debian unstable. > What did you expect to happen? (Expected behavior) > The error message should be: > fatal: could not resolve source > > What happened instead? (Actual behavior) > The error message is: > fatal: could not resolve ource > > What's different between what you expected and what actually happened? > There is a typo in the displayed error message - the first letter 's' > is missing from the word "source" in the output. I think this is due to a typo in your command and I'll explain why it happens. You wrote `git restore -source`, not `git restore --source`. Most programs use double dashes for long options, including Git. Part of the reason the second dash is necessary is that `-source` is interpreted as `-s ource`, or the equivalent of `--source=ource`. Git was confused because `ource` didn't match any revision it could check out and obviously that's because you didn't intend that at all. So I think this is functioning as designed and isn't actually a typo in Git. The code appears to be in `builtin/checkout.c`: builtin/checkout.c: die(_("could not resolve %s"), opts->from_treeish); That shows that it prints "could not resolve" and then the thing it tried to resolve as a branch. -- brian m. carlson (they/them) Toronto, Ontario, CA