Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dump: deterministic lockfile dump #3711

Merged
merged 2 commits into from
Apr 30, 2020
Merged

Conversation

skshetry
Copy link
Member

The dump is no longer deterministic/dependent on the pipeline file,
but is sorted based on file names in outs, deps or params.
Also, the params inside each files are also sorted based on name.
However, the objects inside params are not sorted deterministically
as I think it's too much to sort that, and is not easy (considering
the types of objects it might hold, eg: lists, objects, etc).

This will also provide ordered dumps for Python3.5

  • ❗ I have followed the Contributing to DVC checklist.

  • 📖 If this PR requires documentation updates, I have created a separate PR (or issue, at least) in dvc.org and linked it here. If the CLI API is changed, I have updated tab completion scripts.

  • ❌ I will check DeepSource, CodeClimate, and other sanity checks below. (We consider them recommendatory and don't expect everything to be addressed. Please fix things that actually improve code or fix bugs.)

Thank you for the contribution - we'll try to review it as soon as possible. 🙏

Fixes #3696

@skshetry skshetry requested a review from efiop April 30, 2020 15:02
@skshetry skshetry self-assigned this Apr 30, 2020
@skshetry skshetry force-pushed the deterministic-dump branch 2 times, most recently from ccde5d9 to 8f79d64 Compare April 30, 2020 16:27
The dump is no longer deterministic/dependent on the pipeline file,
but is sorted based on file names in outs, deps or params.
Also, the params inside each files are also sorted based on name.
However, the objects inside params are not sorted deterministically
as I think it's too much to sort that, and is not easy (considering
the types of objects it might hold, eg: lists, objects, etc).

This will also provide ordered dumps for Python3.5
@skshetry skshetry changed the title dump: lockfile dump deterministically dump: deterministic lockfile dump Apr 30, 2020
@efiop efiop merged commit 22c60dd into iterative:master Apr 30, 2020
@skshetry skshetry deleted the deterministic-dump branch May 1, 2020 00:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhances DVC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

lockfile: order of content changes on a repro
2 participants