(log-view-mode-map, log-view-mode-menu): Bind it.
(log-view-per-file-logs, log-view-vc-fileset)
(log-view-vc-backend): New variables.
(log-view-find-revision, log-view-modify-change-comment)
(log-view-annotate-version): Throw an error if the log is for more
than one file and we can't find the current file. Get the current
file from log-view-vc-fileset if necessary.
(log-view-diff): Get the current file from log-view-vc-fileset if
necessary.
* vc.el (vc-print-log): Set log-view-vc-fileset and log-view-vc-backend.
* vc-hg.el (vc-hg-log-view-mode): Call the log method only once.
(vc-hg-log-view-mode): Declare for compiler.
(vc-hg-log-view-mode): Set log-view-per-file-logs and
log-view-file-re.
(vc-hg-diff): If no file is passed, use default-directory for cwd.
* vc-bzr.el (vc-bzr-log-view-mode): Set log-view-per-file-logs.
* vc-svn.el (vc-svn-log-view-mode): New derived mode.
(vc-status-create-fileinfo): Make `extra' optional.
(vc-status-busy): New fun.
(vc-status-menu-map): Use it.
(vc-status-crt-marked): Remove.
(vc-status-update): Rename from vc-status-add-entries.
Add argument so as to prevent addition of entries. Rewrite.
(vc-update-vc-status-buffer): Remove.
(vc-status-refresh): Don't remove old entries, set them to
up-to-date instead. Also do it after the update is complete.
(vc-status-marked-files): η-reduce.
(vc-after-save): Use when not if.
(vc-default-mode-line-string): Deal with the conflict state.
(vc-prefix-map):
(vc-menu-map): Bind vc-status instead of vc-directory.
* vc.el (vc-editable-p):
(vc-default-status-printer):
(vc-next-action): Deal with the conflict state.
(vc-mark-resolved): New function.
(vc-status-mode): Fix mode name.
(vc-default-comment-history): Use when not if.
(Todo): Add new entries, remove old ones.
* vc-cvs.el (vc-cvs-merge, vc-cvs-merge-news): Set conflict state.
(vc-cvs-parse-status):
(vc-cvs-after-dir-status):
* vc-svn.el (vc-svn-after-dir-status, vc-svn-parse-status):
Detect the conflict state.
(vc-status-mark-buffer-changed): Handle the extra field.
* vc-bzr.el (vc-bzr-after-dir-status):
* vc-cvs.el (vc-cvs-after-dir-status):
* vc-hg.el (vc-hg-after-dir-status):
* vc-svn.el (vc-svn-after-dir-status): Return a list not a cons.
(vc-status-refresh): Create a temporary buffer and call the
`dir-status' backend function from that buffer.
* vc-bzr.el (vc-bzr-dir-status): Don't create a buffer.
(vc-bzr-after-dir-status): Don't kill the buffer.
* vc-cvs.el (vc-cvs-dir-status): Don't create a buffer.
(vc-cvs-after-dir-status): Don't kill the buffer.
* vc-git.el (vc-git-dir-status): Don't create a buffer.
(vc-git-after-dir-status-stage2): Don't kill the buffer.
* vc-hg.el (vc-hg-dir-status): Don't create a buffer.
(vc-hg-after-dir-status): Don't kill the buffer.
* vc-svn.el (vc-svn-dir-status): Don't create a buffer.
(vc-svn-after-dir-status): Don't kill the buffer.
* vc.el (vc-default-dired-state-info): Use just "modified".
* vc-cvs.el (vc-cvs-state-heuristic): Turn rev 0 into `added'.
(vc-cvs-mode-line-string): Make use of the better default.
(vc-cvs-parse-entry): Use the new `added'.
(vc-cvs-dired-state-info): Remove.
* vc-svn.el (vc-svn-dired-state-info): Remove.
* vc-hg.el (vc-hg-dired-state-info): Remove.
* vc-git.el (vc-git-dired-state-info): Remove.
(vc-status-mode): Make it local.
(vc-status-refresh): Use it to save the marked files.
(vc-update-vc-status-buffer): Use it to restore the marked files.
* vc-svn.el (vc-svn-after-dir-status):
* vc-hg.el (vc-hg-after-dir-status): Clean up the temporary buffer.
busy case ...
(vc-set-mode-line-busy-indicator): ... in this new function.
(vc-status-refresh): Call vc-set-mode-line-busy-indicator.
(vc-update-vc-status-buffer): Reset mode-line-process.
(vc-status-mark-all-files, vc-status-unmark-all-files): Change to
mark/unmark all the files with the same state as the current one.
With a prefix argument mark/unmark all files.
(vc-status-mode-menu): Adjust strings.
(vc-update-vc-status-buffer): Only do something when the argument
is not nil.
(vc-status-kill-dir-status-process): New function.
(vc-status-mode-map): Bind it.
(vc-status-process-buffer): New variable.
(vc-status-mode): Make it local.
(vc-status-refresh): Set it.
* vc-hg.el (vc-hg-dir-status):
* vc-git.el (vc-git-dir-status):
* vc-svn.el (vc-svn-dir-status): Return the buffer in which the
command is run.
* vc-hooks.el (vc-find-root): Take optional arg INVERT.
If non-nil, reverse the sense of the check.
* vc-rcs.el (vc-rcs-root): New func.
* vc-cvs.el (vc-cvs-root): New func.
* vc-svn.el (vc-svn-root): New func.
* vc-svn.el (vc-svn-find-file-hook):
* vc-arch.el (vc-arch-find-file-hook):
* pcvs.el (cvs-revert-if-needed):
* vc.el (vc-maybe-resolve-conflicts): Use it instead of vc-mode.
(top-level): Add a Todo list.
and 'unregistered states.
* vc-hooks.el (vc-state): Added 'removed state to documentation.
* vc-hg (vc-hg-parse-status): Recognize 'added, 'removed, and
'up-to-date state. Deal with the possibility that C for clean
might change to "=" in the next point release.
* vc-git.el (vc-git-parse-status): Recognize 'removed.
* vc.el (header comment): Better description of new dir-state.
(vc-compatible-state): Defines which states are mutually
compatible; usable with 'edited as a test for which can be committed on.
(vc-dired-hook): Turn off undo in the VC-Dired buffer, a speed tweak.
(vc-default-dired-state-info): Display 'removed state.
* vc-bzr.el (vc-bzr-dir-state): Recognize 'added.
states. and the new return-value convention. These are not
actually used yet, just set.
* vc-svn.el (vc-svn-parse-status): Set 'ignored and 'unregistered
states when appropriate.
* vc-hg.el (vc-hg-state,vc-hg-dir-state): Set 'ignored and
'unregistered' when appropriate.
* vc-git.el: Document that we don't set the new states yet.
* vc.el (vc-dired-state-info): Display 'unregistered and
'ignored states.
* vc-cvs.el (vc-cvs-parse-status): Set the 'ignored state when
appropriate.
* vc-bzr.el (vc-bzr-dir-state): Set 'ignored and
'unregistered' when appropriate.
Modify all instances of the dir-state back-end method to suppress
keeping undo lists on the buffers holding astatus output, which
csn get extremely large.
* vc-svn.el (vc-svn-print-log, vc-svn-diff):
* vc-mcvs.el (vc-mcvs-print-log, vc-mcvs-annotate-command):
* vc-cvs.el (vc-cvs-print-log, vc-cvs-diff)
(vc-cvs-annotate-command):
* vc-arch.el (vc-arch-diff): Remove test to check if start-process
is bound, it always is.