-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
A: object-storageRelated to the object/content-addressable storageRelated to the object/content-addressable storageA: statusRelated to the dvc diff/list/statusRelated to the dvc diff/list/statusenhancementEnhances DVCEnhances DVCp2-mediumMedium priority, should be done, but less importantMedium priority, should be done, but less importantproduct: VSCodeIntegration with VSCode extensionIntegration with VSCode extensionrefactoringFactoring and re-factoringFactoring and re-factoring
Description
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).
pmrowla and bhack
Metadata
Metadata
Assignees
Labels
A: object-storageRelated to the object/content-addressable storageRelated to the object/content-addressable storageA: statusRelated to the dvc diff/list/statusRelated to the dvc diff/list/statusenhancementEnhances DVCEnhances DVCp2-mediumMedium priority, should be done, but less importantMedium priority, should be done, but less importantproduct: VSCodeIntegration with VSCode extensionIntegration with VSCode extensionrefactoringFactoring and re-factoringFactoring and re-factoring