My DVC branch (at http://download.gna.org/dvc/branches/ohler/main) now
contains a simple implementation of xmtn-dvc-status based on the
basic_io variant of mtn automate inventory (from
net.venge.monotone.basic_io.inventory).
The new code activates if it detects an automate interface_version of 5.x.
If you want to try it, note that the current head of
nvm.basic_io.inventory has a bug related to command completion that is
fixed in mainline already. As this bug affect xmtn's operation, I
recommend propagating from mainline to the branch first.
Open problems related to mtn automate inventory and/or xmtn-dvc-status
that I'm aware of:
* The stanza that mtn automate inventory prints for the workspace root
makes little sense:
path ""
old_type "directory"
new_type "directory"
fs_type "none"
status "missing"
fs_type should be "directory" and status should be "known". xmtn
doesn't attempt to work around this; it prints a bogus "missing" entry
for the workspace root.
* I couldn't find an mtn command that prints the new name of a file
renamed in the workspace, given its old name. This means that xmtn
currently requests and parses the entire inventory just for this
operation. The delay is barely noticeable on my machine in the cases I
have tried, but this is a bad solution nonetheless. mtn automate
inventory FILENAME works for the other direction (given the new name,
find the old name) (but maybe this also computes the entire inventory
internally).
* xmtn-dvc-status currently displays a flat list of paths; some sort of
nested tree would be a better use of the available screen width.
* It would be good to come up with some sort of mechanism to selectively
update entries in the status buffer when performing operations on files
(add, ignore, drop, revert, rename, commit, save-buffer etc.).
* DVC diff buffers and DVC status buffers currently use the same mode
(dvc-diff-mode), but I don't think they should. They are different
things; for example, commands like `dvc-diff-diff-or-list' or
`diff-goto-source' only make sense in the diff buffer, not in the status
buffer.
* xmtn-readme.txt hasn't been updated yet.
I'm not using monotone much at the moment. This will need more testing
and refinement based on real usage.
Christian.
_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev