"Sam Steingold" <[EMAIL PROTECTED]> writes: > I am used to PCL-CVS: when I do something in the *cvs* buffer, it > applies to the selection, or, absent selection, to the CURRENT file, and > it also auto-updates the *cvs* buffer when the operation is over so that > I see the new state right away.
True, but in the world of distributed version control systems, "what CVS does" is usually synonymous for "the wrong thing" ;-). CVS got people used to single-file operations and subtree operations. But that's wrong most of the time. Doing a partial commit means you're recording a revision which never actually existed on disk, and therefore which has probably never be tested. So, first thing to do if you often do single-file commits is to ask yourself why you do so many single-file commit. As opposed to that, all modern version control systems I know are tree-wide oriented. For example: $ bzr init foo $ cd foo $ mkdir -p bar/boz/foobar $ touch file1 $ touch bar/file-in-subtree $ touch bar/boz/foobar/file-in-sub-sub-tree $ bzr add $ cd bar/boz/foobar $ bzr commit will actually commit not only bar/boz/foobar/file-in-sub-sub-tree, but also all the files in the same tree (../../file-in-subtree and ../../../file1 in this case). Then, "bzr log" will show the log for the full tree, "bzr satus" will show the status for the full tree, ... So, the tools themseves ask you to explicitely say when you want to do anything non-tree-wide, and DVC would be wrong to do it differently. PCL-CVS follows CVS philosophy, and DVC follows it's back-end's philosophy as much as possible. > -- after the operation is finished, the *status* buffer should be > updated (I can probably do this in xhg-commit-done-hook, but there > are other operations - like add and remove - which lack the hook). > also, similar to PCL-CVS, it would be nice to see the actual > shell command currently running (at the top of the buffer) as well as > all the previous commands (somewhere in the bottom of the buffer) > > -- the log message buffer contents should not be discarded if the user > variable vc-delete-logbuf-window is nil. Those two requests are definitely good ones. Ideally, the *status* buffer should be refreshed incrementally (i.e. remove files when one commits them, update their status without looking at other files when possible, ...), but that's quite some work to do. -- Matthieu _______________________________________________ Dvc-dev mailing list [email protected] https://mail.gna.org/listinfo/dvc-dev
