From: Michael J Gruber Date: Thu, 31 Mar 2011 09:17:34 +0000 (+0200) Subject: sha1_name: Suggest commit:./file for path in subdir X-Git-Tag: v1.7.5.1~10^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e41d718c7df31c891b242bcf3a1cfea812308e40;p=git-core%2Fgit.git 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 --- 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 }