From e41d718c7df31c891b242bcf3a1cfea812308e40 Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Thu, 31 Mar 2011 11:17:34 +0200 Subject: [PATCH] sha1_name: Suggest commit:./file for path in subdir Currently, the "Did you mean..." message suggests "commit:fullpath" only. Extend this to show the more convenient "commit:./file" form also. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- sha1_name.c | 11 +++++++---- t/t1506-rev-parse-diagnosis.sh | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/sha1_name.c b/sha1_name.c index faea58dc8..69cd6c815 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1012,11 +1012,13 @@ static void diagnose_invalid_sha1_path(const char *prefix, if (!get_tree_entry(tree_sha1, fullname, sha1, &mode)) { die("Path '%s' exists, but not '%s'.\n" - "Did you mean '%s:%s'?", + "Did you mean '%s:%s' aka '%s:./%s'?", fullname, filename, object_name, - fullname); + fullname, + object_name, + filename); } die("Path '%s' does not exist in '%s'", filename, object_name); @@ -1065,9 +1067,10 @@ static void diagnose_invalid_index_path(int stage, if (ce_namelen(ce) == fullnamelen && !memcmp(ce->name, fullname, fullnamelen)) die("Path '%s' is in the index, but not '%s'.\n" - "Did you mean ':%d:%s'?", + "Did you mean ':%d:%s' aka ':%d:./%s'?", fullname, filename, - ce_stage(ce), fullname); + ce_stage(ce), fullname, + ce_stage(ce), filename); } if (!lstat(filename, &st)) diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh index f9cb2021a..4a6396f9e 100755 --- a/t/t1506-rev-parse-diagnosis.sh +++ b/t/t1506-rev-parse-diagnosis.sh @@ -9,7 +9,7 @@ exec expected && - printf "Did you mean '$1:$2$3'?\n" >>expected && + printf "Did you mean '$1:$2$3'${2:+ aka '$1:./$3'}?\n" >>expected && test_cmp expected error } -- 2.30.2