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

Reply via email to