Hi.
IISC the current status of DS is that once new checks are added, or existing ones are extended/improved, this behavior is rolled out directly to all new checks. I had a few PRs, where this lead to the DS check failing b/c it reported issues that
- weren’t a direct cause of the changed lines
- hadn’t been reported before
Note that the “Granular” setting is supposed to prevent this, but apparently this doesn’t always work. Here is an example, where DS reports issues for the ClassName.check_update
method, while the PR only changed the docstring of the class. A similar case in the same PR is here.
It would be nice, if the “granular” setting would be improved.
Additionally, I would find it desirable to be able to pin a specific DS version (eg via .deepsource.toml#version
), which prevents new changes in the DS system to apply directly. This would
- help eliminate many of the above issues
- allow devs to apply new issue-fixes concisely to the whole code base by bumping the version & addressing revealed changes - instead of discovering them bit by bit in each PR.
Looking forward to your feedback