Check for manifest file existence based on absolute paths #345
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.
This is a small fix to the manifest source that is caused from the path format of
Licensed::Git.files
.That function returns the contents from
git ls-files --full-name --recurse-submodules
, which includes the relative path of files from the repository root. The updated check here validates that files exist on the local system because they may have been deleted locally but not deleted from the git index. The error occurs because this check is done from the context of the application's source path, and will only succeed when the application's source path is also the repository root.e.g. if this command is run in a folder
foo/bar
,Git.files
will return file pathsfoo/bar/file1.rb
. This fails because there is no file atfoo/bar/file.rb
relative to the current working directoryfoo/bar
.The fix is to check for existence of absolute paths that are rooted at the detected git repository root.