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.

DVC is different: when I do something in the *status* buffer, it applies
to the selection, or, absent selection, TO THE WHOLE REPOSITORY!!!, and
it does **NOT*** auto-update the status buffer after the operation.

So, a very common situation for me is that I want to commit a single
file, so I position the cursor on it in the *status* buffer, hit "c" and
then nobody tells me that the 50 files have been committed!!
So I run to the shell and type "hg rollback", hit "g" in *status*, sigh
with relief, SELECT the file, hit "c" -- and now I have to type the
commit message all over again!!!

So, what I want is

-- by default, an operation in the *status* buffer applies to the file
   under cursor only, not the whole repository.
   this can be implemented as a user option
   dvc-status-no-selection-action which can have 3 values:
   == 'repository (current DVC behavior)
   == 'current-file (PCL-CVS behavior)
   == 'error (signal an error "no selection")

-- 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.

so...
what do people think?

Emacs  : GNU Emacs 23.0.60.7 (x86_64-unknown-linux-gnu, GTK+ Version 2.8.20)
 of 2008-03-10 on nyc-qws-005
Package: Dvc [EMAIL PROTECTED]

current state:
==============
(setq
 emacs-version "23.0.60.7"
 dvc-version "[EMAIL PROTECTED]"
 dvc-command-version "Mercurial Distributed SCM (version 0.9.5)\n\nCopyright 
(C) 2005-2007 Matt Mackall <[EMAIL PROTECTED]> and others\nThis is free 
software; see the source for copying conditions. There is NO\nwarranty; not 
even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 baz-executable "baz"
 bzr-apply-patch-mapping nil
 bzr-mail-notification-destination nil
 bzr-patch-sent-action 'keep-both
 bzr-pull-done-hook nil
 bzr-submit-patch-mapping '(("dvc-dev-bzr" ("[email protected]" "dvc")))
 bzr-work-offline 'prompt
 tla-apply-patch-mapping nil
 tla-arch-branch 'none
 tla-archive-list-mode-hook nil
 tla-bookmarks-cleanup-dont-prompt nil
 tla-bookmarks-file-name "bookmarks.el"
 tla-bookmarks-mode-hook nil
 tla-branch-list-mode-hook nil
 tla-button-revision-fn 'tla-revlog-any
 tla-category-list-mode-hook nil
 tla-changes-recursive t
 tla-commit-check-log-buffer-functions '(tla-commit-check-empty-headers
                                         tla-commit-check-empty-line
                                         tla-commit-check-missing-space)
 tla-commit-done-hook '(dvc-kill-all-buffers)
 tla-commit-fix-missing-space t
 tla-commit-headers-allowed-to-be-empty "^\\(Keywords\\)$"
 tla-description-format '(patch-id "\n  " summary "\n  Located at: " location
                          "\n")
 tla-dont-hyperlink-changelog nil
 tla-executable "tla"
 tla-follow-symlinks 'tree
 tla-follow-symlinks-mode 'follow
 tla-format-line-function nil
 tla-generate-line-function nil
 tla-install-command-help-system t
 tla-inventory-display-backup t
 tla-inventory-display-junk t
 tla-inventory-display-precious t
 tla-inventory-display-source t
 tla-inventory-display-tree t
 tla-inventory-display-unrecognized t
 tla-inventory-file-mode-hook nil
 tla-inventory-mode-hook nil
 tla-log-edit-keywords '("bugfix" "docfix" "warnfix" "linting" "newfeature"
                         "merge" "update" "rename" "delete" "newfile")
 tla-log-edit-mode-hook '(turn-on-flyspell)
 tla-log-library "~/.arch-log-library/"
 tla-log-library-greedy t
 tla-logs-mode-hook nil
 tla-mail-notification-destination nil
 tla-make-archive-hook nil
 tla-make-branch-hook nil
 tla-make-category-hook nil
 tla-make-log-function 'tla-default-make-log-function
 tla-make-version-hook nil
 tla-name-read-error-hook '(tla--name-read-insert-info-at-point-final)
 tla-name-read-final-hook '(tla--name-read-insert-info-at-point-final)
 tla-name-read-init-hook '(tla--name-read-insert-bookmark-init
                           tla--name-read-insert-partner-init
                           tla--name-read-insert-info-at-point-init)
 tla-non-recursive-inventory t
 tla-patch-sent-action 'keep-tarball
 tla-revision-list-mode-hook nil
 tla-revisions-shows-library t
 tla-revisions-shows-merged-by t
 tla-revisions-shows-merges nil
 tla-revlog-mode-hook nil
 tla-send-comments-format "Your patch %c--%b--%v--%r (%t)"
 tla-send-comments-width 25
 tla-show-ancestor nil
 tla-strict-commits nil
 tla-submit-patch-mapping '(((nil "xtla" nil nil nil)
                             ("[EMAIL PROTECTED]" "xtla"))
                            )
 tla-switch-to-changes-buffer nil
 tla-tag-does-cacherev 'ask
 tla-tag-function 'tla-tag-uuid
 tla-three-way-merge t
 tla-update-recursive t
 tla-update-strategy 'merge
 tla-use-arrow-keys-for-navigation nil
 tla-use-skip-present-option nil
 tla-version-list-mode-hook nil
 tla-version-to-name-function nil
 xgit-executable "git"
 xgit-git-dir-mapping nil
 xhg-commit-done-hook nil
 features '(sgml-mode m4-mode edebug dired-aux generic bzr-submit utf-7 utf7
            starttls nnimap imap mail-extr gnus-cite cookie1 gnus-msg gnus-art
            mm-uu mml2015 epg-config mm-view smime dig gnus-sum nnoo gnus-group
            gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
            gnus-range gnus-win message ecomplete rfc822 mml mml-sec mm-decode
            mm-bodies mm-encode gmm-utils mailheader canlock sha1 hex-util
            hashcash vc-bzr bzr-dvc bzr dvc-annotate find-func reporter dvc-bug
            bbdb-hooks appt cal-iso diary-lib cal-china lunar solar cal-dst
            cal-persia cal-islam cal-bahai cal-julian cal-hebrew holidays
            mule-util cal-move cal-x tramp-gw tramp-fish tramp-smb tramp-cache
            tramp-ftp tramp-cmds tramp password-cache format-spec tramp-compat
            trampver url-cache url-http tls mail-parse rfc2231 rfc2047 rfc2045
            qp ietf-drums url-gw url-auth clhs url url-proxy url-privacy
            url-expand url-methods url-history url-cookie url-util mailcap sort
            log-view autoconf-mode conf-mode gud isearch-multi vc etags
            skeleton debug d-mode cc-mode cc-fonts cc-menus cc-cmds cc-styles
            cc-align cc-engine grep caml tuareg speedbar sb-image ezimage
            dframe compile caml-help caml-types caml-emacs inf-lisp ispell
            log-edit jka-compr info tabify man assoc dabbrev dired newcomment
            make-mode time-stamp parse-time vc-cvs tla smerge-mode dvc-state
            dvc-config diff sendmail tla-gnus dvc-gnus dvc-cmenu dvc-about
            dvc-version dvc-revlist sh-script pcvs pcvs-parse pcvs-info
            pcvs-defs pcvs-util vc-hg xhg-dvc xhg xhg-mq xhg-log dvc-diff
            uniquify dvc-fileinfo bzr-core tla-core pp tla-autoconf tla-defs
            dvc-log dvc-unified dvc-tips ffap add-log diff-mode easy-mmode
            ediff ediff-util ediff-merg ediff-diff ediff-wind ediff-help
            ediff-mult ediff-init xdarcs-core xgit-core xhg-core xmtn-minimal
            midnight calendar cal-menu gnus gnus-ems nnheader gnus-util
            time-date mail-utils wid-edit netrc bbdb-com mailabbrev
            bbdb-autoloads bbdb timezone server which-func imenu url-handlers
            url-parse url-vars mm-util mail-prsvr complete paren help-at-pt
            cus-start cus-load ess-toolbar ess-mous mouseme thingatpt
            browse-url ess-menu ess-swv ess-noweb noweb-font-lock-mode essl-bug
            essd-omg essl-omg essd-els essd-sas essl-sas essa-sas executable
            shell essd-arc essd-vst essd-xls essl-lsp essd-sta essl-sta cc-vars
            cc-defs make-regexp essd-sp6 essd-sp5 essd-sp3 essd-r essl-s
            ess-inf ess-utils comint ring ess-mode noweb-mode ess ess-cust
            regexp-opt ess-emcs ess-site dvc-autoloads dvc-core dvc-lisp
            dvc-buffers dvc-ui dvc-register dvc-utils dvc-emacs ewoc dvc-defs
            dvc-site byte-opt bytecomp byte-compile advice help-fns help-mode
            easymenu view advice-preload cl cl-19 tooltip ediff-hook vc-hooks
            lisp-float-type x-win x-dnd tool-bar mwheel dnd fontset image
            fringe lisp-mode abbrev register page menu-bar rfn-eshadow timer
            select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu
            font-core frame cham georgian utf-8-lang misc-lang vietnamese
            tibetan thai tai-viet lao korean japanese hebrew greek romanian
            slovak czech european ethiopic indian cyrillic chinese case-table
            jka-cmpr-hook help simple button faces cus-face text-properties
            overlay md5 base64 format env code-pages mule custom widget
            backquote make-network-process gtk x-toolkit x multi-tty emacs)
 )
-- 
Sam Steingold (http://sds.podval.org/) on Fedora Core release 5 (Bordeaux)
http://pmw.org.il http://mideasttruth.com http://truepeace.org http://ffii.org
http://palestinefacts.org http://memri.org http://openvotingconsortium.org
Live Lisp and prosper.

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

Reply via email to