Skip to content

diff: use object diff #6594

@efiop

Description

@efiop

Currently dvc/repo/diff.py is quite a bit outdated, we didn't touch it since before introducing objects, so it is still based on hash_info, which makes it suboptimal and very confusing. What we should do instead is introduce dvc/objects/diff.py and implement generic diffing logic for Tree objects, that could then be used in dvc diff. Also it is important to remember that even though right now we don't provide one Tree for the whole repo (kinda like git commits do), we will do that soon, which will again simplify dvc diff logic, that will then use objects.diff even more directly.

Btw, we are already doing basic object diff when merging trees in our git merge-driver (see merge in dvc/objects/tree.py).

Metadata

Metadata

Assignees

No one assigned

    Labels

    A: object-storageRelated to the object/content-addressable storageA: statusRelated to the dvc diff/list/statusenhancementEnhances DVCp2-mediumMedium priority, should be done, but less importantproduct: VSCodeIntegration with VSCode extensionrefactoringFactoring and re-factoring

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions