Change MD5 hash construction to avoid false-positives #140
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.
Re-submission of #139 because I was naively working on master and, as it happens, Github doesn't let you change your default branch, only rename it.
Cleaned up the commits while I was at it.
Note that this will cause current transactions to become unique. It may catch existing users off-guard. Clean solutions welcome.
(I'd like to write an accompanying helper-script that, when given a Source Account, checks an existing ledger for CSV comments accompanied by a hash matching that of a depreciated approach and updates it in-place, but I only have so much time atm.
The justification for breaking it out into a separate script would be that in taking only one file and preforming in-place modifications to it, it would be breaking the conventions of the existing
icsv2ledger
command.)As it stands, such duplicates may still be detected via
--depreciated-md5
, which is disabled by default so as to minimize the ironic 'duplication' of work entailed by checking for every hash every time. You could have this on by default to minimize the aforementioned potential for disruption to existing users.All appropriate adjustments have been made to existing tests.