ENH: Stop printing false positive differences when logging cached nodes #3376
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.
The function calculating changed input fields did not preempt the problem of comparing tuples vs. lists in most of the cases. This PR simplifies the logic of the
dict_diffaccessory function, and fixes the issue - resulting in way shorter indices of changed inputs (esp. when an interface has several inputs and some of them contain long lists).This issue translated in practice into showing long lists of unchanged values as if they had changed, when often, the changed input invalidating the cache would be some other field.
EDIT: Beyond the more robust implementation (former was kind of brittle), this PR is useful, e.g., when re-running fMRIPrep and large lists of files have changed (e.g., the inputs to an fslmerge node with a list of 800 input files).