"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

Reply via email to