[email protected] writes:

> So it seem only bzr have such a function.
> Should be good to have that in other backends.

The key here is <back-end>-revision-get-file-revision. The idea is
that to be able to do a ediff, you need to be able to fetch old
revisions of a file (back-end specific), and then, the code to launch
ediff is back-end independant.

For example, any buffer showing a diff should point to its base and
modified revisions (in local variables dvc-diff-base and
dvc-diff-modified), so pressing 'e' in such buffer (dvc-diff-ediff)
can run :

            (dvc-file-ediff-revisions on-modified-file
                                      dvc-diff-base
                                      dvc-diff-modified)

which will call the appropriate call-backs to get the full text for
old revisions, and call ediff on them.

For that, you need to define an abstract way to talk about a revision
(somehow, a lisp way to express revision specifiers), see
docs/DVC-API, section "Revision API".

Doing this within the DVC API shares a lot of code, and give you ediff
in any DVC diff buffer.

-- 
Matthieu

_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to