* [BUG] git restore: typo in error message "could not resolve ource" @ 2025-12-22 9:16 Zhelyo Zhelev 2025-12-22 11:56 ` brian m. carlson 0 siblings, 1 reply; 5+ messages in thread From: Zhelyo Zhelev @ 2025-12-22 9:16 UTC (permalink / raw) To: git 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). 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. Anything else you want to add: The bug is present in the latest stable version 2.52.0 on both Linux and Windows. Please review the rest of the bug report below. You can delete any lines you don't wish to share. [System Info] git version: git version 2.52.0.windows.1 cpu: x86_64 built from commit: 2912d8e9b8253723974b7baf1c890273b1a1c5bd sizeof-long: 4 sizeof-size_t: 8 shell-path: D:/git-sdk-64-build-installers/usr/bin/sh rust: disabled feature: fsmonitor--daemon libcurl: 8.17.0 OpenSSL: OpenSSL 3.5.4 30 Sep 2025 zlib: 1.3.1 SHA-1: SHA1_DC SHA-256: SHA256_BLK default-ref-format: files default-hash: sha1 uname: Windows 10.0 26100 compiler info: gnuc: 15.2 libc info: no libc information available $SHELL (typically, interactive shell): <unset> [Enabled Hooks] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BUG] git restore: typo in error message "could not resolve ource" 2025-12-22 9:16 [BUG] git restore: typo in error message "could not resolve ource" Zhelyo Zhelev @ 2025-12-22 11:56 ` brian m. carlson 2025-12-22 13:19 ` Junio C Hamano 0 siblings, 1 reply; 5+ messages in thread From: brian m. carlson @ 2025-12-22 11:56 UTC (permalink / raw) To: Zhelyo Zhelev; +Cc: git [-- Attachment #1: Type: text/plain, Size: 1847 bytes --] 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 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 262 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BUG] git restore: typo in error message "could not resolve ource" 2025-12-22 11:56 ` brian m. carlson @ 2025-12-22 13:19 ` Junio C Hamano 2025-12-24 20:32 ` [PATCH] checkout: quote invalid treeish in error message brian m. carlson 0 siblings, 1 reply; 5+ messages in thread From: Junio C Hamano @ 2025-12-22 13:19 UTC (permalink / raw) To: brian m. carlson; +Cc: Zhelyo Zhelev, git "brian m. carlson" <sandals@crustytoothpaste.net> writes: > 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. Hilarious. We probably should give a pair of quotes around '%s' like other messages, and that is what CodingGuidelines asks us to do. In the section of "Error Messages", we find this. - Enclose the subject of an error inside a pair of single quotes, e.g. `die(_("unable to open '%s'"), path)`. Thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] checkout: quote invalid treeish in error message 2025-12-22 13:19 ` Junio C Hamano @ 2025-12-24 20:32 ` brian m. carlson 2025-12-24 23:43 ` Junio C Hamano 0 siblings, 1 reply; 5+ messages in thread From: brian m. carlson @ 2025-12-24 20:32 UTC (permalink / raw) To: git; +Cc: Junio C Hamano, Zhelyo Zhelev We received a report that invoking "git restore -source my_base_branch" resulted in the confusing error message "fatal: could not resolve ource". This looked like a typo in our error message, but it is actually because "-source" is missing its second dash and is being resolved as "-s ource". However, due to the lack of the quoting recommended in CodingGuidelines, this is confusing to the reader and we can do better. Add the necessary quoting to this message. With this change, we now get this less confusing message: fatal: could not resolve 'ource' Reported-by: Zhelyo Zhelev <zhelyo@gmail.com> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> --- builtin/checkout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/checkout.c b/builtin/checkout.c index 66b69df6e6..261699e2f5 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1899,7 +1899,7 @@ static int checkout_main(int argc, const char **argv, const char *prefix, struct object_id rev; if (repo_get_oid_mb(the_repository, opts->from_treeish, &rev)) - die(_("could not resolve %s"), opts->from_treeish); + die(_("could not resolve '%s'"), opts->from_treeish); setup_new_branch_info_and_source_tree(&new_branch_info, opts, &rev, ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] checkout: quote invalid treeish in error message 2025-12-24 20:32 ` [PATCH] checkout: quote invalid treeish in error message brian m. carlson @ 2025-12-24 23:43 ` Junio C Hamano 0 siblings, 0 replies; 5+ messages in thread From: Junio C Hamano @ 2025-12-24 23:43 UTC (permalink / raw) To: brian m. carlson; +Cc: git, Zhelyo Zhelev "brian m. carlson" <sandals@crustytoothpaste.net> writes: > We received a report that invoking "git restore -source my_base_branch" > resulted in the confusing error message "fatal: could not resolve > ource". This looked like a typo in our error message, but it is > actually because "-source" is missing its second dash and is being > resolved as "-s ource". However, due to the lack of the quoting > recommended in CodingGuidelines, this is confusing to the reader and > we can do better. > > Add the necessary quoting to this message. With this change, we now get > this less confusing message: > > fatal: could not resolve 'ource' > > Reported-by: Zhelyo Zhelev <zhelyo@gmail.com> > Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> > --- > builtin/checkout.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Obviously the right thing to do. Thanks. > > diff --git a/builtin/checkout.c b/builtin/checkout.c > index 66b69df6e6..261699e2f5 100644 > --- a/builtin/checkout.c > +++ b/builtin/checkout.c > @@ -1899,7 +1899,7 @@ static int checkout_main(int argc, const char **argv, const char *prefix, > struct object_id rev; > > if (repo_get_oid_mb(the_repository, opts->from_treeish, &rev)) > - die(_("could not resolve %s"), opts->from_treeish); > + die(_("could not resolve '%s'"), opts->from_treeish); > > setup_new_branch_info_and_source_tree(&new_branch_info, > opts, &rev, ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-12-24 23:44 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-22 9:16 [BUG] git restore: typo in error message "could not resolve ource" Zhelyo Zhelev 2025-12-22 11:56 ` brian m. carlson 2025-12-22 13:19 ` Junio C Hamano 2025-12-24 20:32 ` [PATCH] checkout: quote invalid treeish in error message brian m. carlson 2025-12-24 23:43 ` Junio C Hamano
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).