Commit 7a004b71 authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(vc-sccs-latest-on-branch-p): Always return t; we

don't support anything else under SCCS yet.
(vc-sccs-update-changelog): Dummy implementation that
simply signals an error.
(vc-sccs-state-heuristic): Use
file-ownership-preserved-p.
(vc-sccs-workfile-unchanged-p): Fix call to
vc-do-command.
(vc-sccs-state-heuristic): Don't use file-writable-p.
(vc-sccs-workfile-unchanged-p): Fix parenthesis.
(vc-sccs-print-log, vc-sccs-diff): Insert in the current buffer.
(vc-sccs-workfile-unchanged-p): Rewritten.
(vc-sccs-diff): Remove optional arg CMP.
(vc-sccs-state): Call vc-workfile-unchanged-p, not the
SCCS-specific function.
(vc-sccs-state): Fix obviously wrong parenthesis.
(vc-sccs-state-heuristic): Use file-writable-p instead of
comparing userids.
(vc-sccs-checkout): Use `unless'.
(vc-sccs-state): Use with-temp-buffer.
(vc-sccs-workfile-version): Use with-temp-buffer and new
vc-parse-buffer and don't bother setting the property.
(vc-sccs-add-triple): Use with-current-buffer and
find-file-noselect.
(vc-sccs-lookup-triple): New vc-parse-buffer and turn cond -> if.
 Merge in
code from vc-sccs-hooks.el.
(vc-sccs-release, vc-sccs-system-release): Remove.  Don't require
'vc anymore.
(vc-sccs-responsible-p): Use expand-file-name instead of concat
and file-directory-p instead of file-exists-p.
(vc-sccs-check-headers): Simplify the regexp.
(vc-sccs-responsible-p, vc-sccs-register): Use
`vc-sccs-search-project-dir' instead of `vc-sccs-project-dir'.
(vc-sccs-header): New var.
(vc-sccs-rename-file): Renamed from
vc-sccs-record-rename.  Use `find-file-noselect' rather than
`find-file' and call `vc-rename-master' to do the actual move.
(vc-sccs-diff): Remove unused `backend' variable.
(tail): Provide vc-sccs.
(vc-sccs-checkout): Removed call to
vc-file-clear-masterprops.  If writable, set vc-state to 'edited
rather than user login name.
 Require 'vc and 'vc-sccs-hooks.
(vc-sccs-register-switches): New var, copied off of vc-rcs-hooks.
(vc-sccs-latest-on-branch-p): Add a `FIXME' for a call to the
unknown `vc-latest-version' function.  It should probably refer to
vc-workfile-version or somesuch, but it's very unclear to me and I
don't have SCCS to test things.
(vc-sccs-steal-lock): Renamed from `vc-sccs-steal'.
(vc-BACKEND-responsible-p): New
functions.
(vc-BACKEND-register): Renamed from `vc-BACKEND-admin'.  Removed
query option.  Redocumented.
(vc-sccs-diff): Function changed name from
`vc-backend-diff'.  This makes `vc-diff' work.
(vc-sccs-release): Doc fix.
(vc-sccs-admin): Added the query-only option as
required by the vc.el file.
(vc-sccs-latest-on-branch-p): Function added.
(vc-sccs-diff): Function added.
(vc-sccs-checkout): Added function `vc-sccs-checkout'.
 Require vc when compiling.
(vc-sccs-print-log, vc-sccs-assign-name, vc-sccs-merge)
(vc-sccs-check-headers, vc-sccs-steal, vc-sccs-uncheck)
(vc-sccs-revert)
(vc-sccs-checkin, vc-sccs-logentry-check): New functions (code
from vc.el).
(vc-sccs-add-triple, vc-sccs-record-rename)
(vc-sccs-lookup-triple): Moved from vc.el and renamed.
(vc-sccs-admin): Doc fix.
(vc-admin-sccs): Added from vc.el
(vc-sccs-system-release):
Renamed from vc-sccs-backend-release.
(vc-sccs-release): Moved from vc.el.
(vc-sccs-backend-release): New function.
parent c1b25099
2000-09-04 Gerd Moellmann <gerd@gnu.org>
* vc.el (toplevel): Require `dired' at run-time for dired-mode-map.
* Makefile.in (DONTCOMPILE): Fix typo in file name.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-sccs.el (vc-sccs-latest-on-branch-p): Always return t; we
don't support anything else under SCCS yet.
* vc-hooks.el: Minor doc fixes.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-next-action-on-file): Do not visit the file if it's
not necessary. If verbose in state `needs-patch', do the same as
under `up-to-date'. When NOT verbose and `needs-patch', check out
latest version instead of `merge-news'.
(vc-next-action-dired): Don't mess with default-directory here; it
breaks other parts of dired. It is the job of the
backend-specific functions to adjust it temporarily if they need
it.
(vc-next-action): Remove a special CVS case.
(vc-clear-headers): New optional arg FILE.
(vc-checkin, vc-checkout): Set properties vc-state and
vc-checkout-time properly.
(vc-finish-steal): Call steal-lock, not steal, which doesn't
exist.
(vc-print-log): Use new backend function `show-log-entry'.
(vc-cancel-version): Do the checks in a different order. Added a
FIXME concerning RCS-only code.
* vc-rcs.el (vc-rcs-show-log-entry): New function.
(vc-rcs-checkin, vc-rcs-checkout): Don't set all properties.
* vc-cvs.el (vc-cvs-show-log-entry): New function.
* vc-hooks.el (vc-default-mode-line-string): Show state
`needs-patch' as a `-' too.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-responsible-backend): New optional arg REGISTER.
(vc-default-could-register): New function.
(vc-dired-buffers-for-dir, vc-dired-resynch-file): New functions.
(vc-resynch-buffer): Call vc-dired-resynch-file.
(vc-start-entry, vc-finish-logentry, vc-revert-buffer): Use
vc-resynch-buffer instead of vc-resynch-window.
(vc-next-action-dired): Don't redisplay here, that gets done as a
result of the individual file operations.
(vc-retrieve-snapshot): Corrected prompt order.
* vc-hooks.el (vc-after-save): Call vc-dired-resynch-file.
* vc-cvs.el (vc-cvs-stay-local): Allow it to be a hostname regexp
as well.
(vc-cvs-remote-p): Renamed to vc-cvs-stay-local-p. Handle
hostname regexps. Updated all callers.
(vc-cvs-responsible-p): Handle directories as well.
(vc-cvs-could-register): New function.
(vc-cvs-retrieve-snapshot): Parse "cvs update" output, keep file
properties up-to-date.
* vc-rcs.el (vc-rcs-register): If there is no RCS subdir, ask the
user whether to create one.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-hooks.el (vc-file-not-found-hook): Ask the user whether to
check out a non-existing file.
* vc-cvs.el (vc-cvs-checkout): Do the right thing when the
workfile does not exist.
* vc.el (vc-version-diff): Use `require' to check for existence of
diff-mode.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-cvs.el (vc-cvs-registered): Use new function
vc-cvs-parse-entry to do the actual work.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-hooks.el (vc-find-backend-function): If function doesn't
exist, return nil instead of error.
(vc-call-backend): Doc fix.
* vc.el (vc-do-command): Doc fix.
(vc-finish-logentry): When checking in from vc-dired, choose the
right backend for logentry check.
(vc-dired-mode-map): Inherit from dired-mode-map.
(vc-dired-mode): Local value of dired-move-to-filename-regexp
simplified.
(vc-dired-state-info): Removed, updated caller.
(vc-default-dired-state-info): Use parentheses instead of hyphens.
(vc-dired-hook): Use vc-BACKEND-dir-state, if available.
(vc-dired-listing-switches): New variable.
(vc-directory): Use it, instead of dired-listing-switches.
* vc-cvs.el (vc-cvs-remote-p): Allow FILE to be a directory, too.
(vc-cvs-dir-state): New function.
(vc-cvs-dir-state-heuristic): New function, subroutine of the
above.
(vc-cvs-parse-entry): New function, also to be used in
vc-cvs-registered.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-revert-buffer): Hide the frame for dedicated windows
*or* single-window-frames.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-update-changelog): Split into generic part and default
implementation. Doc string adapted.
(vc-default-update-changelog): New function. Call the `rcs2log'
script in exec-directory, to fix a long-standing nuisance.
* vc-sccs.el (vc-sccs-update-changelog): Dummy implementation that
simply signals an error.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-cvs.el (vc-cvs-checkout): Slight restructuring to make the
control-flow more clear and to avoid running `cvs' twice.
* vc.el (vc-next-action-on-file): Doc fix.
(vc-maybe-resolve-conflicts): Don't just toggle smerge-mode.
(vc-print-log): Eval `file' before constructing the continuation.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-next-action-on-file): Corrected several messages.
(vc-merge): Add prefix arg `merge-news'; handle it.
* vc-cvs.el (vc-cvs-workfile-version): Removed comment that this
is not reached. It is.
(vc-cvs-merge): Set state to 'edited after merge.
(vc-cvs-merge-news): Set workfile version to nil if not known.
(vc-cvs-latest-on-branch-p): Recommented. Candidate for removal.
* vc-*.el (vc-*-checkout): Switch off coding systems for checkout
via stdout. (Merge from main line.)
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-finish-logentry): Thinko in the "same comment"
detection.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-parent-buffer, vc-parent-buffer-name): Protect them
against kill-all-local-variables.
(vc-log-edit): Don't save vc-parent-buffer any more.
(vc-last-comment-match): Initialize to an empty string.
(vc-post-command-functions): New hook.
(vc-do-command): Run it.
(vc-next-action-on-file): Remove unnecessary pop-to-buffer.
(vc-finish-logentry): Only add the comment to the ring if it's
different from the last comment entered.
(vc-new-comment-index): New function.
(vc-previous-comment): Use it. Make the minibuffer message
slightly less terse.
(vc-comment-search-reverse): Make it work forward as well. Don't
set vc-comment-ring-index if no match is found. Use
vc-new-comment-index.
(vc-comment-search-forward): Use vc-comment-search-reverse.
(vc-dired-mode-map): Don't inherit from dired-mode-map since
define-derived-mode will do it for us. Bind `v' to a keymap that
inherits from vc-prefix-map so that we can bind `vt' without
binding C-x v t.
(vc-retrieve-snapshot): Parenthesis typo.
* vc-cvs.el (vc-cvs-checkin): Raise the max-correct status from 0
to 1. Make sure to switch to *vc* before looking for an error
message. Use vc-parse-buffer.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-create-snapshot, vc-default-create-snapshot): Swap DIR
and NAME.
(vc-retrieve-snapshot): Split into two parts.
(vc-default-retrieve-snapshot): New function.
* vc-cvs.el ((vc-cvs-create-snapshot): Swap DIR and NAME.
(vc-cvs-retrieve-snapshot): New function (untested).
(vc-cvs-stay-local): Default to t.
(vc-cvs-remote-p): New function and property.
(vc-cvs-state): Stay local only if the above is t.
(vc-handle-cvs): Removed.
(vc-cvs-registered): Don't check vc-handle-cvs -- it should all be
done via vc-handled-backends now.
(vc-cvs-header): Escape Id.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-do-command): Remove unused commands.
(vc-version-diff): Make sure default-directory ends with a slash.
Move the window commands into a vc-exec-after.
(vc-print-log): Move more of the code into the `vc-exec-after'.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-exec-after): Fix disassembly of previous sentinel.
(vc-print-log): Search current revision from beginning of buffer.
(vc-revert-buffer): Clear echo area after the diff is finished.
(vc-prefix-map): Removed definition of "t" for terse display in vc
dired.
(vc-dired-mode-map): Inherit from dired-mode-map. Added
definition of "vt" for terse display.
(vc-dired-mode): Fix dired-move-to-filename-regexp.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-exec-after): Avoid caddr.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-exec-after): New function.
(vc-do-command): Use it to add a termination message for async
procs.
(vc-checkout): Try to handle a missing-backend situation.
(vc-version-diff): Use vc-exec-after to fix the behavior for diffs
of a directory with a backend using async diffs.
(vc-print-log): Use vc-exec-after and use log-view-goto-rev if
present.
* vc-sccs.el (vc-sccs-state-heuristic): Use
file-ownership-preserved-p.
* vc-rcs.el (vc-rcs-state-heuristic): Use
file-ownership-preserved-p.
(vc-rcs-checkout): Remove the error-handling for missing-rcs.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-sccs.el (vc-sccs-workfile-unchanged-p): Fix call to
vc-do-command.
* vc.el (vc-next-action-on-file): Use vc-revert-buffer to revert
when there are no changes.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc-sccs.el (vc-sccs-state-heuristic): Don't use file-writable-p.
* vc-rcs.el (vc-rcs-state-heuristic): Don't use file-writable-p.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-hooks.el (vc-prefix-map): Move the autoload from vc.el.
* vc.el (vc-prefix-map): Move the autoload to vc-hooks.el and move
the `fset' outside of the defvar so that it works even if
vc-prefix-map was already defined.
(vc-setup-buffer): New function, split out of vc-do-command.
(vc-do-command): Allow BUFFER to be t to mean `just use the
current buffer without any fuss'.
(vc-version-diff): Change the `diff' backend operation to just put
the diff in the current buffer without erasing it. Always use
*vc-diff* even for directory-diffs. Use vc-setup-buffer. Protect
shrink-window-if-larger-than-buffer.
(vc-print-log): Change the `print-log' backend operation to just
put the log in the current buffer without erasing it. Protect
shrink-window-if-larger-than-buffer.
(vc-update-change-log): Fix setd typo.
* vc-sccs.el (vc-sccs-workfile-unchanged-p): Fix parenthesis.
(vc-sccs-print-log, vc-sccs-diff): Insert in the current buffer.
* vc-rcs.el (vc-rcs-print-log): Insert in the current buffer.
(vc-rcs-diff): Insert in the current buffer and remove unused arg
CMP.
* vc-cvs.el (vc-cvs-state, vc-cvs-fetch-status): Use
with-temp-file. Use the new BUFFER=t argument to vc-do-command.
(vc-cvs-print-log, vc-cvs-diff): Insert in the current buffer.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-workfile-unchanged-p): If checkout-time comparison is
not possible, use vc-BACKEND-workfile-unchanged-p.
(vc-default-workfile-unchanged-p): New function. Delegates to a
full vc-BACKEND-diff.
* vc-hooks.el (vc-simple-command): Removed.
* vc-rcs.el (vc-rcs-workfile-unchanged-p): Use vc-do-command
instead of vc-simple-command.
(vc-rcs-fetch-master-state): Removed check for unlocked-changes to
avoid doing a diff when opening a file.
(vc-rcs-state): Added check for unlocked-changes.
(vc-rcs-header): Escape Id.
(vc-rcs-workfile-unchanged-p): Remove optional arg VERSION.
(vc-rcs-state): Call vc-workfile-unchanged-p, not the RCS-specific
version.
* vc-sccs.el (vc-sccs-workfile-unchanged-p): Rewritten.
(vc-sccs-diff): Remove optional arg CMP.
(vc-sccs-state): Call vc-workfile-unchanged-p, not the
SCCS-specific function.
* vc-cvs.el (vc-cvs-state): Use vc-do-command instead of
vc-simple-command.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-editable-p): Renamed from vc-writable-p.
(with-vc-file, vc-merge): Use vc-editable-p.
(vc-do-command): Remove unused var vc-file and fix the
doubly-defined `status' var. Add a user message when starting an
async command.
(vc-restore-buffer-context, vc-resynch-buffer, vc-start-entry)
(vc-finish-steal, vc-checkin, vc-finish-logentry, vc-rename-file):
Use with-current-buffer.
(vc-buffer-sync): Use unless.
(vc-next-action-on-file): If the file is 'edited by read-only,
make it read-write instead of trying to commit.
(vc-version-diff, vc-update-change-log): Use `setq
default-directory' rather than `cd'.
(vc-log-edit): Don't forget to set default-directory in the
buffer.
* vc-sccs.el (vc-sccs-state): Fix obviously wrong parenthesis.
(vc-sccs-state-heuristic): Use file-writable-p instead of
comparing userids.
(vc-sccs-checkout): Use `unless'.
* vc-rcs.el (vc-rcs-state-heuristic): Use file-writable-p instead
of comparing userids.
(vc-rcs-fetch-master-state): Handle the case where rcs is missing.
Simplify the logic by eliminating unreachable code.
(vc-rcs-diff): Only pass `2' to vc-do-command if necessary and
just do a recursive call if we need to retry.
(vc-rcs-checkout): Handle the case where rcs is missing by making
the buffer read-write if requested and re-signalling the error.
* vc-cvs.el (vc-cvs-diff): Remove unused and unsupported argument CMP.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-hooks.el (vc-handled-backends): Docstring change.
(vc-ignore-vc-files): Mark obsolete.
(vc-registered): Check vc-ignore-vc-files.
(vc-find-file-hook, vc-file-not-found-hook): Don't check
vc-ignore-vc-files.
* vc-cvs.el (vc-cvs-registered): Obey vc-handle-cvs.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-checkout): Don't do anything special for ange-ftp
files since ange-ftp already has vc-registered return nil.
* vc-sccs.el (vc-sccs-state): Use with-temp-buffer.
(vc-sccs-workfile-version): Use with-temp-buffer and new
vc-parse-buffer and don't bother setting the property.
(vc-sccs-add-triple): Use with-current-buffer and
find-file-noselect.
(vc-sccs-lookup-triple): New vc-parse-buffer and turn cond -> if.
* vc-rcs.el (vc-rcs-find-most-recent-rev): New function. The code
derives from the old vc-parse-buffer but uses the revision number
rather than the date (much easier to compare robustly).
(vc-rcs-fetch-master-state): Use `with-temp-buffer'. Adapt to the
new vc-parse-buffer (and vc-rcs-find-most-recent-rev). Find the
locking-user more directly. Check strict locking and set
checkout-model appropriately.
(vc-rcs-parse-locks): Remove.
(vc-rcs-latest-on-branch-p): Use with-temp-buffer and adapt to the
new vc-parse-buffer (and vc-rcs-find-most-recent-rev).
(vc-rcs-system-release): Use with-current-buffer and
vc-parse-buffer.
(vc-rcs-register, vc-rcs-checkout): Use with-current-buffer.
* vc-hooks.el (vc-parse-buffer): Lobotomize the monster.
(vc-simple-command): Docstring fix.
(vc-registered): Align the way the file-handler is called with the
way the function itself works.
(vc-file-owner): Remove.
* vc-cvs.el (vc-cvs-registered): Use with-temp-buffer. Reorder
extraction of fields and call to file-attributes because of a
temporary bug in rcp.el.
(vc-cvs-fetch-status): Use with-current-buffer.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-do-command): Use file-relative-name.
(vc-responsible-backend): Use vc-backend if possible.
(vc-create-snapshot): Improve the `interactive' spec. Add support
for branches and dispatch to backend-specific `create-snapshot'.
(vc-default-create-snapshot): New function, containing the bulk of
the old vc-create-snapshot.
(vc-retrieve-snapshot): Improve the interactive spec.
* vc-hooks.el (vc-header-alist): Move the dummy def from vc.el.
(vc-backend-hook-functions): Remove.
(vc-find-backend-function): Don't try to load vc-X-hooks anymore.
(vc-backend): Reintroduce the test for `file = nil' now that I
know why it was there (and added a comment to better remember).
* vc-sccs-hooks.el: Merge into vc-sccs.el * vc-sccs.el: Merge in
code from vc-sccs-hooks.el.
(vc-sccs-release, vc-sccs-system-release): Remove. Don't require
'vc anymore.
(vc-sccs-responsible-p): Use expand-file-name instead of concat
and file-directory-p instead of file-exists-p.
(vc-sccs-check-headers): Simplify the regexp.
* vc-rcs-hooks.el: Merge into vc-rcs.el * vc-rcs.el: Merge in code
from vc-rcs-hooks.el. Don't require 'vc anymore.
(vc-rcs-responsible-p): Use expand-file-name instead of concat and
file-directory-p instead of file-exists-p.
* vc-cvs-hooks.el: Merge into vc-cvs.el * vc-cvs.el: Merge in code
from vc-cvs-hooks.el.
(proto vc-cvs-registered): Require 'vc-cvs instead of
'vc-cvs-hooks. Don't require 'vc anymore.
(vc-cvs-responsible-p): Use expand-file-name instead of concat and
file-directory-p instead of file-exists-p.
(vc-cvs-create-snapshot): New function, replacing
vc-cvs-assign-name.
(vc-cvs-assign-name): Remove.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-cvs.el (vc-cvs-header): New var.
* vc-rcs.el (vc-rcs-exists): Remove.
(vc-rcs-header): New var.
* vc-sccs.el (vc-sccs-responsible-p, vc-sccs-register): Use
`vc-sccs-search-project-dir' instead of `vc-sccs-project-dir'.
(vc-sccs-header): New var.
* vc.el (vc-do-command): Get rid of the `last' argument.
(vc-header-alist): Remove, replaced by vc-X-header.
(vc-insert-headers): Use vc-X-header instead of vc-header-alist.
(vc-dired-hook): Use expand-file-name instead of concat.
(vc-directory): Use file-name-as-directory.
(vc-snapshot-precondition, vc-create-snapshot)
(vc-retrieve-snapshot): Allow the command to operate on any
directory.
* vc-{rcs,sccs,cvs}.el: Update calls to vc-do-command by either
just removing the 'WORKFILE argument or by removing the 'MASTER
argument and replacing `file' with (vc-name file).
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el: Update Copyright and add a crude list of backend funs.
(vc-writable-p): New function.
(with-vc-file): Use vc-writable-p.
(vc-next-action-on-file): Update call to vc-steal-lock and
cleanup.
(vc-register): Avoid vc-name.
(vc-locking-user): Remove.
(vc-steal-lock): Make the `owner' arg non-optional.
(vc-merge): Use vc-writable-p instead of vc-locking-user and
vc-checkout-model.
(vc-default-dired-state-info): Use vc-state instead of
vc-locking-user and return special strings for special states.
(vc-dired-hook): Use vc-up-to-date-p instead of vc-locking-user
and get rid of one of the special CVS cases.
(vc-cancel-version): prettify error message with \\[...].
(vc-rename-master): New function.
(vc-rename-file): Use vc-BACKEND-rename-file (which might in turn
use vc-rename-master) instead of vc-BACKEND-record-rename. Make
the CVS special case generic.
(vc-default-record-rename): Remove.
(vc-file-tree-walk-internal): Only call FUNC for files that are
under control of some VC backend and replace `concat' with
expand-file-name.
(vc-file-tree-walk): Update docstring.
(vc-version-diff, vc-snapshot-precondition, vc-create-snapshot)
(vc-retrieve-snapshot): Update call to vc-file-tree-walk.
* vc-sccs.el (vc-sccs-rename-file): Renamed from
vc-sccs-record-rename. Use `find-file-noselect' rather than
`find-file' and call `vc-rename-master' to do the actual move.
(vc-sccs-diff): Remove unused `backend' variable.
* vc-sccs-hooks.el (vc-sccs-registered): Preloaded trivial version
to delay loading of vc-sccs until it is really used.
(vc-sccs-master-templates): Preload.
(vc-sccs-state): Update call to vc-sccs-parse-locks.
(vc-sccs-project-dir): Remove (merged into
vc-sccs-search-project-dir).
(vc-sccs-search-project-dir): Rewrite using file name handling ops
rather than `concat', make sure it is preloaded and don't bother
to check that the file actually exists.
(vc-sccs-parse-locks): Remove unused `file' argument, remove
`locks' argument (use buffer's content instead) and eliminate n^2
behavior.
* vc-rcs.el: Update Copyright.
(vc-rcs-rename-file): New function.
(vc-rcs-diff): Remove unused `backend' variable.
* vc-hooks.el: Update Copyright.
(vc-backend): Don't accept a nil argument any more.
(vc-up-to-date-p): Turn into a defsubst.
(vc-possible-master): New function.
(vc-check-master-templates): Use `vc-possible-master' and allow
funs in vc-X-master-templates to return a non-existent file.
* vc-cvs.el: Update Copyright.
(vc-cvs-diff): Remove unused `backend' variable.
(vc-cvs-checkout): Only toggle read-only if the buffer is setup
right.
* vc-cvs-hooks.el: Preload a proto vc-cvs-registered.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-rcs-hooks.el (vc-rcs-registered): Provide a trivial version
since it can be called from vc-rcs.el.
(vc-rcs-parse-locks): Cleanup to remove an n^2 behavior.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-version-diff): Expand file name read from the
minibuffer. Handle the case when a previous version number can't
be guessed. Give suitable messages when there were no differences
found.
(vc-clear-headers): Call backend-specific implementation, if one
exists.
(vc-cancel-version): Made error checks generic. When done, clear
headers generically, too.
* vc-rcs.el (vc-rcs-clear-headers): New function; code moved here
from vc-clear-headers in vc.el.
* vc-rcs-hooks.el (vc-rcs-fetch-master-state): Use vc-parse-buffer
correctly.
(vc-rcs-latest-on-branch-p): Made second argument VERSION
optional. Handle the case when it's not there.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-locking-user): Moved from vc-hooks.el.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-hooks.el (vc-loadup): Remove.
(vc-find-backend-function): Use `require'. Also, handle the case
where vc-BACKEND-hooks.el doesn't exist.
(vc-call-backend): Cleanup.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc-rcs-hooks.el (vc-rcs-templates-grabbed,
vc-rcs-grab-templates)
(vc-rcs-registered): Remove. The default function works as well.
* vc-sccs-hooks.el (vc-sccs-templates-grabbed,
vc-sccs-grab-templates)
(vc-sccs-registered): Remove. The default function works as well.
* vc.el (vc-version-diff): Left out a vc- in call to
vc-call-backend.
(vc-default-dired-state-info, vc-default-record-rename)
(vc-default-merge-news): Update for the new backend argument.
* vc-hooks.el (vc-find-backend-function): Return a cons cell if
using the default function.
(vc-call-backend): If calling the default function, pass it the
backend as first argument. Update the docstring accordingly.
(vc-default-state-heuristic, vc-default-mode-line-string): Update
for the new backend argument.
(vc-make-backend-sym): Renamed from vc-make-backend-function.
(vc-find-backend-function): Use the new name.
(vc-default-registered): New function.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-merge): Use vc-find-backend-function.
* vc-hooks.el (vc-backend-functions): Remove.
(vc-loadup): Don't setup 'vc-functions.
(vc-find-backend-function): New function.
(vc-call-backend): Use above fun and populate 'vc-functions
lazily.
(vc-backend-defines): Remove.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-register): Put a FIXME note for a newly found bug.
Call vc-call-backend without the leading vc-.
(vc-responsible-backend, vc-finish-logentry, vc-annotate)
(vc-check-headers): Call vc-call-backend without the leading vc-.
(vc-annotate-time-span): Replace confusing use of `cond' with
`or'.
(vc-annotate-display): Replace confusing use of `cond' with `or'.
Call vc-call-backend without the leading vc-.
* vc-cvs.el (tail): Provide vc-cvs.
* vc-sccs.el (tail): Provide vc-sccs.
* vc-rcs.el (tail): Provide vc-rcs and remove vc-rcs-logentry-check.
* vc-hooks.el (vc-backend-hook-functions, vc-backend-functions)
(vc-make-backend-function, vc-call): Pass names without leading
`vc-' to vc-call-backend so we can blindly prefix them with
vc-BACKEND.
(vc-loadup): Don't load vc-X-hooks if vc-X is requested.
(vc-call-backend): Always try to load vc-X-hooks.
(vc-registered): Remove vc- in call to vc-call-backend.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-process-filter): New function.
(vc-do-command): Setup `vc-process-filter' for the async process.
(vc-maybe-resolve-conflicts): New function to reduce
code-duplication. Additionally, it puts the buffer in
`smerge-mode' if applicable.
(vc-next-action-on-file): Use `vc-maybe-resolve-conflicts' after
calling `merge-news'.
(vc-merge): Use `vc-maybe-resolve-conflicts' after calling
`merge'.
(vc-log-edit): New function. Replacement for `vc-log-mode' by
interfacing to log-edit.el.
(vc-start-entry): Call `vc-log-edit' instead of `vc-log-mode' if
log-edit is available.
(vc-resolve-conflicts): Delegate to `smerge-ediff' if available.
2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
* vc.el (vc-register): Remove `vc-buffer-backend' setup.
(vc-log-mode-map): New name for vc-log-entry-mode and merge the
defvar and the initialization.
(vc-log-mode): Minor docstring fix and use vc-log-mode-map.
* vc-hooks.el (vc-default-back-end, vc-buffer-backend): Remove.
(vc-kill-buffer-hook): Remove `vc-buffer-backend' handling.
* vc-cvs-hooks.el (vc-handle-cvs): Make it a defvar and add a
FIXME.
2000-09-04 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-file-clear-masterprops): Removed.
(vc-checkin, vc-revert-buffer): Removed calls to the above.
(vc-version-diff): Use buffer-size without argument.
(vc-register): Heed vc-initial-comment.
* vc-rcs-hooks.el (vc-rcs-fetch-master-state): Fix regexp for
default branch.
* vc-rcs.el (vc-rcs-register): Parse command output to find master
file name and workfile version.
(vc-rcs-checkout): Removed call to vc-file-clear-masterprops.
* vc-cvs.el (vc-cvs-merge-news, vc-cvs-checkout): Removed call to
vc-file-clear-masterprops.
* vc-sccs.el (vc-sccs-checkout): Removed call to
vc-file-clear-masterprops. If writable, set vc-state to 'edited
rather than user login name.