fix(docs): strip current directory prefix #10955
Open
+2
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #4533
Right now there's an issue on generating docs which is reproducible in a default forge project:
The root cause of the issue is this line. Somehow Path::strip_prefix strips "extra" characters in path, example:
Notice that in the example above the
./
part is also stripped while it was not mentioned in the prefix. Interestingly there is also the String::strip_prefix method which actually works as expected (doesn't strip "extra" characters which can be seen in this rust playground).What happens here is (roughly) that
Path::new("/project/./../project/docs").strip_prefix("/project")
returns../project/docs
instead of./../project/docs
which produces thePrefix not found
error on subsequentstrip_prefix
calls.There're many places where
strip_prefix
is used (in theforge-doc
crate) so I suppose the simplest solution is to remove the./
prefix from theout
option.Notes:
clap
argumentsPR Checklist