1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-30 08:09:04 +00:00
Commit Graph

424 Commits

Author SHA1 Message Date
André Spiegel
8989ab56c2 (vc-responsible-backend): Undo the previous change in the argument
list.  Handle multiple backends correctly.
(vc-find-new-backend): Function removed.
(vc-register): Use vc-responsible-backend, as before.
(vc-next-action-on-file): Do use vc-registered, not vc-backend.
2000-10-02 12:01:09 +00:00
Stefan Monnier
ceec5a0c1b (with-vc-file, vc-next-action-on-file):
Use vc-backend rather than vc-registered.
(vc-next-action-on-file): Use intern-soft.
Deal with read-only *vc-diff* buffer.
(vc-switch-backend): Short circuit if nothing is to be done.
Handle the case where (not (memq backend backends)).
Don't use vc-resynch-buffer which could lose unsaved editing.
(vc-transfer-file): Docstring fix.
2000-10-01 20:58:17 +00:00
Stefan Monnier
7849e1791b * vc.el (vc-editable-p): Minor optimization.
(edit-vc-file, vc-next-action-on-file): Don't use find-file.
(vc-find-new-backend): New function split from vc-responsible-backend.
(vc-register): Use it.
(vc-responsible-backend): Remove REGISTER arg and add BACKENDS arg.
(vc-unregister): Drop BACKEND arg (it doesn't work anyway).
(vc-default-unregister, vc-revert-buffer): Docstring fix.
(vc-clear-headers): Don't use find-file.
(vc-revert-buffer): Use `and' again (must have been a braino).
(vc-switch-backend): Only prompt if requested.
(vc-default-receive-file): Update call to vc-unregister.

* vc-rcs.el (vc-rcs-unregister): Keep a backup of the master file.
(vc-rcs-receive-file): Avoid with-vc-properties.
Update call to vc-unregister.
Use constant `RCS' rather than (dynamically bound) var `backend'.
2000-10-01 19:35:24 +00:00
André Spiegel
0ab66291b8 (vc-next-action-on-file): Update mode line only if file is visited.
(vc-start-entry): New argument initial-contents.  Don't visit the file
if it isn't already visited.  Brought documentation up-to-date.
(vc-next-action, vc-register): Updated calls to vc-start-entry.
(vc-checkin): New optional arg initial-contents, which is passed to
vc-start-entry.
(vc-finish-logentry): Make sure to bury log buffer only if there
really is one.  Call `vc-resynch-buffer' on log-file, not
buffer-file-name.
(vc-default-comment-history, vc-default-wash-log): New functions.
(vc-index-of): Removed.
(vc-transfer-file): Make do without the above.
(vc-default-receive-file): Call comment-history unconditionally.  Pass
the resulting string to vc-checkin, instead of inserting it into the
comment ring.
2000-10-01 12:06:15 +00:00
André Spiegel
e07adf40d3 (vc-switch-backend): Signal an error if the file is not registered
under the new backend.
2000-09-22 07:49:19 +00:00
André Spiegel
1d502d5a5a (vc-index-of, vc-transfer-file, vc-default-receive-file): New functions.
(vc-next-action-on-file): Call vc-transfer-file at appropriate places.
(vc-switch-backend): New function.
(vc-prefix-map): Bind `vc-switch-backend' to `b'.
(vc-register): Fix prompt.
(vc-unregister, vc-default-unregister): New functions.
(vc-version-diff): Handle empty buffer in sentinel.
2000-09-21 13:27:08 +00:00
André Spiegel
c13809cf28 (vc-revert-buffer): Set vc-checkout-time correctly. 2000-09-19 13:58:56 +00:00
Dave Love
6f41eeb577 (vc-dired-listing-switches): Fix :version. 2000-09-12 13:03:44 +00:00
Stefan Monnier
e1d95cc471 * vc-sccs.el (vc-sccs-register):
* vc-rcs.el (vc-rcs-register):
* vc-cvs.el (vc-cvs-register): Don't clear file's properties.
* vc.el (vc-register): Clear file's properties.
2000-09-09 00:48:41 +00:00
Gerd Moellmann
f63deed563 Remove `$Id$' tag. 2000-09-07 08:10:02 +00:00
Stefan Monnier
099bd78a96 2000-09-05 Stefan Monnier <monnier@cs.yale.edu>
* vc.el: (toplevel): Don't require `dired' at run-time.
	(vc-dired-resynch-file): Remove autoload cookie.

2000-09-05  Andre Spiegel  <spiegel@gnu.org>

	* vc.el: Made several backend functions optional.
	(vc-default-responsible-p): New function.
	(vc-merge): Use RET for first version to trigger merge-news, not
	prefix arg.
	(vc-annotate): Handle backends that do not support annotation.
	(vc-default-merge-news): Removed.  The existence of a merge-news
	implementation is now checked on caller sites.

	* vc-hooks.el (vc-default-mode-line-string): Removed CVS special
	case.

	* vc-cvs.el (vc-cvs-mode-line-string): New function, handles the
	special case that has been removed from the default in vc-hooks.el.

2000-09-05  Stefan Monnier  <monnier@cs.yale.edu>

	* vc.el (vc-log-edit): Properly handle the case where FILE is nil.

2000-09-05  Andre Spiegel  <spiegel@gnu.org>

	* vc-hooks.el: Require vc during compilation.
	(vc-file-setprop): Use `vc-touched-properties' if bound by the new
	macro `with-vc-properties' in vc.el.
	(vc-file-getprop): Doc fix.
	(vc-after-save): Call `vc-dired-resynch-file' only if vc is loaded.

	* vc.el: Require dired-aux during compilation.
	(vc-name-assoc-file): Moved to vc-sccs.el.
	(with-vc-properties): New macro.
	(vc-checkin, vc-checkout, vc-revert, vc-cancel-version,
	vc-finish-steal): Use it.
	(vc-cancel-version): Moved RCS-specific code to vc-rcs.el.  The call
	to the backend-specific function is now supposed to do the checkout,
	too.
	(vc-log-edit): Handle FILE being nil and added a FIXME for log-edit.

	* vc-cvs.el (vc-cvs-checkin, vc-cvs-checkout): Don't bother to
	set file properties; that gets done in the generic code now.

	* vc-rcs.el (vc-rcs-uncheck): Renamed to `vc-rcs-cancel-version'.
	Changed parameter list, added code from vc.el that does the
	checkout, possibly with a double-take.

	* vc-sccs.el (vc-sccs-name-assoc-file): Moved here from vc.el.
	(vc-sccs-add-triple, vc-sccs-rename-file, vc-sccs-lookup-triple): Use
	the above under the new name.
	(vc-sccs-uncheck): Renamed to `vc-sccs-cancel-version'.  Changed
	parameter list, added checkout command.
	(vc-sccs-checkin, vc-sccs-checkout): Don't bother to set file
	properties; that gets done in the generic code now.

2000-09-05  Stefan Monnier  <monnier@cs.yale.edu>

	* vc.el: Docstring fixes (courtesy of checkdoc).

2000-09-05  Stefan Monnier  <monnier@cs.yale.edu>

	* vc.el (vc-checkout-writable-buffer-hook)
	(vc-checkout-writable-buffer): Remove.
	(vc-start-entry): Always call vc-log-edit, never vc-log-mode.
	(vc-log-mode): Make it into a clean derived major mode.
	(vc-log-edit): Mark buffer unmodified (as vc-log-mode did) and use
	vc-log-mode if log-edit is not available.
	(vc-dired-mode-map): Don't set-keymap-parent yet.
	(vc-dired-mode): Do set-keymap-parent here.
	(vc-dired-buffers-for-dir): Nop if dired is not loaded.
2000-09-05 20:08:22 +00:00
Gerd Moellmann
6811040fe6 (vc-dired-resynch-file): Add autoload cookie. 2000-09-04 19:59:41 +00:00
Gerd Moellmann
0769107a3c (toplevel): Require `dired' at run-time for dired-mode-map. 2000-09-04 19:46:58 +00:00
Gerd Moellmann
0e362f5403 (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-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-version-diff): Use `require' to check for existence of
diff-mode.
(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-revert-buffer): Hide the frame for dedicated windows
(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-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.
(vc-next-action-on-file): Corrected several messages.
(vc-merge): Add prefix arg `merge-news'; handle it.
(vc-finish-logentry): Thinko in the "same comment"
detection.
(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-create-snapshot, vc-default-create-snapshot): Swap DIR
and NAME.
(vc-retrieve-snapshot): Split into two parts.
(vc-default-retrieve-snapshot): New function.
(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'.
(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.
(vc-exec-after): Avoid caddr.
(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-next-action-on-file): Use vc-revert-buffer to revert
when there are no changes.
(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-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-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-checkout): Don't do anything special for ange-ftp
files since ange-ftp already has vc-registered return nil.
(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-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.
 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-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-locking-user): Moved from vc-hooks.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-merge): Use vc-find-backend-function.
(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-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.
(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-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-workfile-unchanged-p): Remove unused argument
`want-differences-if-changed' and simplify.
(vc-next-action-on-file) [needs-merge]: Resynch the buffer.
(vc-revert-buffer): Use `unchanged-p' rather than vc-diff's status
output (which is invalid for async vc-diff) to decide whether to
do the revert silently or not.
(with-vc-file, vc-next-action, vc-version-diff)
(vc-dired-mark-locked): Replaced usage of vc-locking-user with
vc-state or vc-up-to-date-p.
(vc-merge): Use vc-backend-defines to check whether merging is
possible.  Set state to 'edited after successful merge.
(vc-recompute-state, vc-next-action-on-file): Update to
new `vc-state' semantics.
(vc-finish-steal): Set 'vc-state to 'edited rather than setting
'vc-locking-user to the current user.
(vc-merge): Inline vc-backend-merge.  Comment out code that I
don't understand and hence can't adapt to the new `vc-state' and
`vc-locking-user' semantics.
(vc-backend-merge): Remove.
(vc-do-command): kill-all-local-variables, to reset any
major-mode in which the buffer might have been put earlier.  Use
`remove' and `when'.  Allow `okstatus' to be `async' and use
`start-process' in this case.
(vc-version-diff): Handle the case where the diff looks empty
because of the use of an async process.
(vc-next-action-on-file): Removed optional parameter
`simple'.  Recompute state unconditionally.
(vc-default-toggle-read-only): Removed.
(vc-backend-dispatch, vc-annotate-mode-syntax-table):
Remove.
(vc-prefix-map): Move from vc-hooks.el and make autoloaded.
(vc-release-greater-or-equal-p): Move to vc-rcs.el.
(vc-file-clear-masterprops): Braindead "fix".  It was a nop and
still is. So maybe it should be removed.
(vc-head-version, vc-find-binary): Remove.
(vc-recompute-state): Move from vc-hooks.el.
(vc-next-action-on-file): Add a `simple' argument to allow
avoiding the `recompute' step (use for vc-cvs-simple-toggle).
(vc-default-toggle-read-only, vc-default-record-rename): New
functions.
(vc-next-action, vc-dired-hook): Use vc-state instead of
vc-cvs-status.
(vc-dired-mode-map): Properly defvar it.
(vc-print-log): Call log-view-mode if available.
(small-temporary-file-directory): defvar instead of use boundp.
(vc-merge-news): Moved to vc-cvs.el.
(vc-default-merge-news): New function.
(function' quotes.
(vc-annotate-mode-map, vc-annotate-mode-syntax-table): Initialize
directly in the defvar.
(vc-do-command): Bind inhibit-read-only so as to properly handle
the case where the destination buffer has been made read-only.
(vc-diff): Delegate to vc-version-diff in all cases.
(vc-version-diff): Setup the *vc-diff* buffer as was done in
vc-diff.
(vc-annotate-mode-variables): Removed (code moved partly to
defvars and partly to vc-annotate-add-menu).
(vc-annotate-mode): Turned into a derived-mode.
(vc-annotate-add-menu): Moved in code in
vc-annotate-mode-variables.
(vc-update-change-log): Use make-temp-file if available.
(vc-next-action-on-file): Added handling of state
`unlocked-changes'.
(vc-checkout-carefully): Is now practically obsolete, unless the
above is too slow to be enabled unconditionally.
(vc-update-change-log): Fixed typo.
(vc-responsible-backend): New function.
(vc-register): Largely rewritten.
(vc-admin): Removed (implementation moved into vc-register).
(vc-checkin): Redocumented.
(vc-finish-logentry): If no backend defined yet (because we are in
the process of registering), use the responsible backend.
 Updated callers of `vc-checkout-required' to use
`vc-checkout-model'.
(vc-backend-release, vc-backend-release-p): Functions
moved into vc-rcs.el
(vc-backend-revert): Function moved into `vc-revert';
`vc-next-action' must be updated to accomodate this change.
(vc-backend-steal): Function moved into `vc-finish-steal'.
(vc-backend-logentry-check): Function moved into
`vc-finish-logentry'.
(vc-backend-printlog): Function moved into `vc-print-log'.
(vc-backend-uncheck): Function moved into `vc-cancel-version'.
(vc-backend-assign-name): Function moved into
`vc-create-snapshot'.
(vc-workfile-unchanged-p,vc-diff,vc-version-diff): Updated
to use the vc-BACKEND-diff functions instead; `vc-diff' is now
working.
 Typo fixed.  This checkin is made with our new VC code
base for the very first time.  A simple `(vc-checkin
(buffer-file-name))' was used to perform it.
(vc-checkin): Merged with `vc-backend-checkin' and updated
to match the split into various backends.
(vc-backend-checkin): Removed.  Merged with `vc-checkin'.
(vc-retrieve-snapshot): Bug fix.
(vc-next-action-on-file): Bug found and fixed.
(vc-checkout, vc-version-other-window, vc-retrieve-snapshot)
(vc-cancel-version): Handle of vc-BACKEND-checkout updated.
(vc-next-action-on-file): Rewritten for the new state model.
(vc-backend-merge-news): Renamed to `vc-merge-news'.  (Specific parts
still need to be split, and implemented for RCS).
(vc-admin): Updated to handle selection of appropriate
backend.  Current implementation is crufty and need re-thinking.
(vc-annotate-get-backend, vc-annotate-display-default)
(vc-annotate-add-menu, vc-annotate, vc-annotate-display): Annotate
functionality updated quite a lot to support multiple backends.
Variables `vc-annotate-mode', `vc-annotate-buffers',
`vc-annotate-backend' added.
 Renamed
`vc-uses-locking' to `vc-checkout-required'.  Renamed the `locked'
state to `reserved'.
(vc-update-change-log): Use small-temporary-file-directory,
if defined.  (Merged from main line, slightly adapted.)
 Split the annotate feature into a BACKEND specific part
and moved it from the vc-cvs.el file to this one.
(vc-resynch-window): Added TODO comment: check for
interaction with view mode according to recent RCS change.
(vc-backend-merge-news): Merged "CMUP" patch from mainline.
 Converted the remaining function comments to
documentation strings.
(vc-backend-release, vc-release-greater-or-equal)
(vc-backend-release-p, vc-trunk-p, vc-branch-p, vc-branch-part)
(vc-minor-part, vc-previous-version): Functions that operate and
compare revision numbers got proper documentation.  Comments added
about their possible removal.
(vc-latest-on-branch-p): Function removed and replaced in
the vc-backend.el files.
(vc-backend-diff): Function removed and placed in the
backend files.
(vc-backend-checkout): Function removed and replaced in
the vc-backend.el files.
(vc-backend-admin): Removed and replaced in the
vc-backend.el files.
(Martin): Removed all the annotate functionality since it
is CVS backend specific.
 [Merged from mainline.]
(vc-dired-mode): Make the dired-move-to-filename-regexp
regexp match the date, to avoid treating date as file size.
Add YYYY S option to WESTERN/
 Require `compile' when compiling.
(vc-logentry-check-hook): New option.
(vc-steal-lock): Use compose-mail.
(vc-dired-mode-map): Defvar when compiling.
(vc-add-triple, vc-record-rename, vc-lookup-triple): Moved to
vc-sccs.el and renamed.  Callers changed.
(vc-backend-checkout, vc-backend-logentry-check)
(vc-backend-merge-news): Doc fix.
(vc-default-logentry-check): New function.
(vc-backend-checkin, vc-backend-revert, vc-backend-steal)
(vc-backend-uncheck, vc-backend-print-log, vc-backend-assign-name)
(vc-backend-merge): Doc fix.  Use backend functions.
(vc-check-headers): Use backend functions.
(vc-backend-release): Call vc-system-release.
(vc-rcs-release, vc-cvs-release, vc-sccs-release): Moved to
backend files.
(vc-backend-release): Dispatch to backend functions.
(vc-backend-release-p): Don't mention CVS, RCS.  [The SCCS case
probably needs attention.]
(vc-dired-mode, vc-dired-reformat-line, vc-dired-purge):
Doc fix.
(vc-fetch-cvs-status): Moved to vc-cvs.el and renamed.
(vc-default-dired-state-info): New function.
(vc-dired-state-info): Dispatch to backends.
(vc-dired-hook): Doc fix.  Simplify, pending removal of CVS specifics.
(vc-file-clear-masterprops, vc-latest-on-branch-p)
(vc-version-other-window, vc-backend-assign-name): Removed
references to vc-latest-version; sometimes changed into
vc-workfile-version.
(with-vc-file, vc-next-action-on-file, vc-merge)
(vc-backend-checkout): Changed calls to `vc-checkout-model' to
`vc-uses-locking'.
(vc-fetch-cvs-status): Use renamed vc-cvs-parse-status.
 Some doc fixes for autoloaded and interactive functions.
Fix compilation warnings from ediff stuff.
(vc-rcs-release, vc-cvs-release, vc-sccs-release): Custom fix.
 This is 1999-03-13T05:04:24Z!kwzh@gnu.org from the emacs sources
2000-09-04 19:46:19 +00:00
Gerd Moellmann
a2272f321b (vc-backend-diff): Return the correct status if we had to
retry the rcsdiff command without the --brief option.
2000-04-01 12:19:35 +00:00
Gerd Moellmann
4e6473c81e (vc-version-diff): Make sure file name is expanded. 2000-01-26 10:32:38 +00:00
Gerd Moellmann
fb29efe93f (vc-update-change-log): Look for rcs2log under
exec-directory.
1999-12-02 14:24:07 +00:00
Stefan Monnier
767d12f23e Use make-temp-file. 1999-10-15 16:03:59 +00:00
André Spiegel
3b9dc2bca5 (vc-backend-checkout): Use coding system 'no-conversion when doing
with-temp-file.
1999-10-02 10:53:18 +00:00
André Spiegel
d76a596e39 (vc-backend-checkout): Use with-temp-file to check out into arbitrary
file names.
1999-09-22 12:58:49 +00:00
Richard M. Stallman
8f0ab35865 (vc-annotate-display): Use < 69 not < 70 to distinguish 20YY from 19YY. 1999-09-06 22:15:10 +00:00
Richard M. Stallman
fc1d66a4d7 (vc-annotate-display): Treat 2-digit years under 70 as 20YY. 1999-09-06 03:46:33 +00:00
Eli Zaretskii
57c298c426 (vc-update-change-log): Use small-temporary-file-directory when non-nil. 1999-09-02 12:50:28 +00:00
Andreas Schwab
051848e498 (vc-backend-merge-news): Fix regexp to also match P marker
from cvs update.
1999-08-27 07:59:22 +00:00
André Spiegel
2b4603f465 (vc-fetch-cvs-status): Use "-l" option for "cvs status", to make it
non-recursive.
1999-06-30 07:16:14 +00:00
Karl Heuer
61d6c25dbd Undo previous undo -- spiegel's change already corrected rms's. 1999-06-15 17:40:09 +00:00
Karl Heuer
5c2ae5cab2 (vc-dired-mode): Undo previous two changes. 1999-06-15 05:48:18 +00:00
André Spiegel
fdc3f606b1 (vc-dired-mode): Don't match anything before the date in
dired-move-to-filename-regexp.
1999-06-09 16:52:56 +00:00
Richard M. Stallman
e4f95b80d8 (vc-dired-mode): Make the dired-move-to-filename-regexp
regexp match the date, to avoid treating date as file size.
Add YYYY S option to WESTERN/
1999-05-23 05:34:53 +00:00
André Spiegel
b9482d15fc (vc-backend-revert): For CVS files that were made writeable with "cvs
edit", call "cvs unedit" to undo that.
1999-04-08 12:43:48 +00:00
Karl Heuer
2c4eea90f8 (vc-delete-logbuf-window): New var.
(vc-finish-logentry): Use it.
1999-03-13 05:04:24 +00:00
André Spiegel
05dad1e652 (vc-annotate-display): Delete old overlays. Fix check for major-mode.
(vc-annotate-mode): Delete variable.
1999-01-22 16:28:12 +00:00
Richard M. Stallman
ac3db2e429 (vc-backend-diff): Use `diff-switches-list' throughout. 1999-01-02 21:54:32 +00:00
Markus Rost
8816386c05 (vc-rcs-release): Fix Type.
(vc-sccs-release): Fix Type.
(vc-cvs-release): Fix Type.
1998-12-08 16:04:52 +00:00
André Spiegel
beba4bd9f6 (vc-dired-window-configuration, vc-ediff-windows,
vc-ediff-result, vc-dired-switches, vc-dired-terse-mode):
Added defvars to suppress compilation warnings.
1998-12-02 13:34:59 +00:00
André Spiegel
709822e813 (with-vc-file, edit-vc-file): New macros. 1998-11-04 15:09:38 +00:00
Dave Love
927d7566ff (vc-backend-merge-news): Check for "P" output. 1998-10-30 19:11:08 +00:00
Dave Love
b524ce9fc5 (vc-insert-headers): Doc fix. 1998-09-10 21:50:05 +00:00
André Spiegel
b73820b00c (vc-backend-merge-news): Account for `already contains the
differences' state.
1998-08-04 13:14:41 +00:00
Richard M. Stallman
262c8ceae7 Comment change. 1998-07-09 03:47:06 +00:00
Richard M. Stallman
4e8b7ae5c1 (vc-finish-logentry): Only delete windows in the selected frame
displaying the *VC-log* buffer, in case another frame is dedicated to
it (which will then be deleted via kill-buffer).
1998-07-08 02:55:50 +00:00
Eli Zaretskii
87a00c4f91 (vc-binary-suffixes): New variable.
(vc-find-binary): Append every suffix from vc-binary-suffixes when
looking for executable files.
1998-06-21 14:29:07 +00:00
Richard M. Stallman
0c8b57ade8 (vc-find-binary): Accept only non-directories. 1998-06-16 16:38:47 +00:00
André Spiegel
633cee4683 (vc-dired-hook): Don't use dired-kill-line to remove directory lines
in terse mode.
(vc-dired-purge): If the top level dir is empty, make it look a little
nicer.
1998-06-12 11:13:37 +00:00
André Spiegel
3b57457337 (vc-dired-recurse, vc-dired-terse-display): New user options.
(vc-next-action-dired): Cleanup.  Let vc-dired-terse-mode be nil here,
so that checked-in files don't vanish.
(vc-dired-toggle-terse-mode): New function.
(vc-dired-hook): Handle terse mode.
(vc-dired-purge): New function.
(vc-directory): Handle vc-dired-recurse.
(vc-dired-hook): Don't show "." and "..".
1998-06-11 15:33:13 +00:00
André Spiegel
a0019b45b9 (vc-directory): Bind vc-dired-switches in order to pass switches to vc-dired-mode.
(vc-dired-mode): Check for vc-dired-switches.
1998-06-05 12:46:29 +00:00
André Spiegel
c06b6e6f7b (vc-dired-hook): Kill excluded directories recursively. 1998-06-03 15:07:04 +00:00
Richard M. Stallman
26174ef4fe (vc-update-change-log): Use temporary-file-directory.
Use expand-file-name on it.
1998-05-16 17:53:32 +00:00
Richard M. Stallman
38f30d582d (vc-update-change-log): Use system-tmp-directory. 1998-05-16 03:44:16 +00:00
André Spiegel
eccceb78ec (vc-fetch-cvs-status): Don't specify DIR on the command line.
(vc-dired-hook): Optimized for CVS.
1998-05-02 16:41:08 +00:00
Dan Nicolaescu
cd32a7baa4 *** empty log message *** 1998-04-20 02:34:53 +00:00
André Spiegel
edcb979fe4 (vc-dired-mode): Redefine dired-move-to-filename-regexp locally.
(vc-dired-reformat-line): Streamlined.  Should handle all sorts of
date formats now.
1998-04-15 10:13:07 +00:00
Andreas Schwab
ae4c702967 (vc-backend-revert): Fix missing argument for
vc-file-setprop.
1998-04-15 09:48:04 +00:00
André Spiegel
4b81132caf (vc-next-action-on-file): Don't check out after registering. This is
two steps instead of one, and the second does not make sense under
CVS.
(vc-next-action): Changed doc string to reflect the above.
1998-04-14 12:38:25 +00:00
André Spiegel
dc08a6b5d0 (vc-next-action): Fixed bug that prevented registering files using C-x v v. 1998-04-09 13:45:44 +00:00
André Spiegel
421f0bfe8e (vc-dired-mode): Make dired-after-readin-hook a local hook, not a local variable. 1998-04-05 18:54:35 +00:00
André Spiegel
ccb141e8e1 (vc-merge, vc-backend-merge): New functions.
(vc-resolve-conflicts): Added optional parameters for buffer names.
(vc-branch-p): New function.
1998-04-05 18:45:06 +00:00
André Spiegel
b690900731 (vc-ensure-vc-buffer): New function.
(vc-registration-error): Replaced by the above.  Updated all callers.
(file-executable-p-18, file-regular-p-18): Removed.
1998-04-05 18:43:15 +00:00
Richard M. Stallman
3d30b8bc56 (vc-next-action-dired): Use dired-do-redisplay. Handle
window configuration correctly.
(vc-next-action): Save window configuration for vc-next-action-dired.
(vc-finish-logentry): Only kill log buffer if it does exist.
(vc-dired-mode): Rewritten so that it works entirely through
dired-after-readin-hook.  Subdirectories are handled just as in
ordinary dired.
(vc-dired-hook): New function.
(vc-state-info, vc-dired-reformat-line): Adapted.
(vc-dired-update, vc-dired-update-line): Removed.
(vc-directory): Rewritten.
(vc-directory-18): Removed.
(vc-dired-mark-locked): New function, bound to "*l" in vc-dired-mode.
(vc-do-command): Only compute vc-name if it is really needed.
(vc-fetch-cvs-status): New function.
(vc-dired-hook): Use it.
1998-04-04 05:22:37 +00:00
André Spiegel
751fa74742 (vc-revert-buffer): Rewrote handling of vc-diff buffer,
so that the file's buffer is always current when the actual
        revert is done.
1998-04-01 12:26:43 +00:00
André Spiegel
7f050cc85e (vc-backend-revert): CVS bug fix. 1998-03-31 18:08:36 +00:00
André Spiegel
18483cf000 * vc.el (vc-resolve-conflicts): New function.
(vc-next-action-on-file): Use it.
        (vc-backend-revert): For CVS, revert to the version the buffer was
        based on, not the latest on the current branch (same behavior as
        for RCS).  For SCCS, forget vc-workfile-version so that it gets
        recomputed.
        (vc-revert-buffer): Rewrote doc string to explain the above.
        (vc-finish-logentry): Don't add extra newline.
1998-03-31 17:19:32 +00:00
André Spiegel
a0b87bc1f9 (vc-next-action-on-file): Properly handle the case when user tries to
check-in, but file on disk has changed.
(vc-do-command): Consider LAST argument only if FILE is non-nil.
(vc-add-triple, vc-record-rename, vc-lookup-file): Find
vc-name-assoc-file based on vc-name of FILE.
(vc-backend-admin, vc-rename-file): Handle the SCCS PROJECTDIR feature.
(vc-do-command): Rewrote doc string.
1998-03-20 15:40:24 +00:00
André Spiegel
01e02ab387 (vc-restore-buffer-context): Only try to restore mark if it is active. 1998-03-18 13:25:00 +00:00
André Spiegel
4b398f5de9 (vc-context-matches-p): New function.
(vc-restore-buffer-context): Restore point and mark only if they don't
match the context.
(vc-revert-buffer1, vc-clear-headers): Use save-excursion to relocate
point and mark, and vc-restore-buffer-context as a backup.
(vc-resynch-buffer): When operating on the current buffer, don't use
save-excursion, because that would undo the effects of the above
functions.
(vc-resynch-window): Deleted code that removed vc-find-file-hook
temporarily.  This was unnecessary, because find-file-hooks are not
called when the buffer is reverted.
(vc-register): Added comment for prev change.
1998-03-08 10:03:50 +00:00
André Spiegel
0d53f4669d (vc-default-init-version): New variable.
(vc-register): Use it.  Also use COMMENT argument.
1998-02-27 18:44:14 +00:00
Karl Heuer
c863c92df3 (vc-register): Update vc-buffer-backend. 1998-02-25 22:53:17 +00:00
Dave Love
861f3c2917 (vc-checkin-hook): Add :options.
(vc-checkin, vc-comment-to-change-log): Doc fix.
1998-02-24 12:54:05 +00:00
Richard M. Stallman
f70419a8ac (vc-annotate-compcar): Iterate instead of recursing.
(vc-annotate-car-last-cons, vc-annotate-time-span):
Rename arg assoc-list to a-list.

(vc-annotate-display): All support for XEmacs extents removed.
Functions `set-face-*' are called only when a face is created.
1998-01-22 09:04:36 +00:00
Karl Heuer
df1e7b9120 (vc-finish-logentry): Move killing the log buffer after
the operation in case that fails.
1998-01-18 03:27:05 +00:00
André Spiegel
f8791ebe79 (vc-resynch-window): Behave properly when view-read-only is non-nil. 1998-01-07 14:33:37 +00:00
Richard M. Stallman
79d00189f1 (vc-version-diff): Mention that default file is visited file. 1997-08-23 06:17:08 +00:00
Richard M. Stallman
ba27415c3e (vc-version-diff): Change the Newer version prompt. 1997-08-05 21:38:52 +00:00
Richard M. Stallman
8e710301e0 (vc-version-diff): Use defaults, not initial input,
for reading the arguments.
1997-08-04 04:29:53 +00:00
Richard M. Stallman
c0d66cb21b (vc-backend-checkin): For CVS, forget the checkout model after commit.
(vc-backend-checkout): Use "cvs edit" for files with manual checkout.
(vc-minor-part, vc-previous-version): New functions.
(vc-diff): Don't ask or guess version numbers.
(vc-version-diff): Suggest default versions based on the file state.
1997-07-31 06:23:19 +00:00
Richard M. Stallman
b6e7b3c6ca (vc-diff): Turn off previous change. 1997-07-18 19:03:30 +00:00
André Spiegel
d5859f32d9 (vc-diff): If file is unchanged, ask for the version
number to compare with.
(vc-retrieve-snapshot): If no NAME is specified, check out
latest versions of all unlocked files.
(vc-next-action-on-file): For CVS files with implicit checkout: if
unmodified, don't do anything.
(vc-clear-headers): Regexp more restricted, so as not to destroy file
contents by mistake.
(vc-backend-merge-news): Better analysis of status reported by CVS.
Set file properties accordingly.
1997-07-18 16:06:57 +00:00
Richard M. Stallman
4bc504c88c (vc-steal-lock): Use yes-or-no-p for confirmation. 1997-06-15 23:03:18 +00:00
Richard M. Stallman
f80f7bc21f (vc-annotate-mode-variables): Init vc-annotate-mode-menu
and put it into vc-annotate-mode-map.
(vc-annotate-add-menu): Don't init vc-annotate-mode-menu,
just add the bindings to it.  Display progress messages.
(vc-annotate-mode-menu): New defvar.
(vc-annotate-ratio): Move defvar, add initial value.
(vc-annotate-display-default): Display progress messages.
(vc-annotate-display): Use vc-annotate-color-map.
1997-06-14 17:29:10 +00:00
Richard M. Stallman
7d2d948212 (diff-switches): defvar deleted.
(vc-annotate-*): New functions and variables.
1997-06-09 06:01:12 +00:00
André Spiegel
a1d713ef1e (vc-backend-admin): If there is no SCCS subdirectory yet, create it. 1997-05-21 14:42:09 +00:00
Richard M. Stallman
0101cc4045 Use defgroup and defcustom.
Doc fixes.
1997-05-05 20:56:20 +00:00
Richard M. Stallman
124c852b0a (vc-update-change-log): Run `rcs2log' in the correct
directory when ChangeLog is found elsewhere.  Display any error
output from rcs2log.
1997-04-12 03:14:16 +00:00
Richard M. Stallman
f0b188ed3d (vc-checkin-hook): Doc fix.
(vc-before-checkin-hook): New hook.
(vc-start-entry): Use it.
1997-04-01 21:47:17 +00:00
Richard M. Stallman
4cbeb71c2a (vc-next-action-on-file): With implicit checkout, make
sure not to lose unsaved changes.
1997-03-21 20:06:04 +00:00
André Spiegel
eb302e54e9 (vc-backend-diff): Handle RCS and SCCS separately. 1997-03-04 18:00:30 +00:00
Karl Heuer
37667a5cd2 (vc-log-mode): New optional arg FILE. Set vc-log-file here.
(vc-start-entry): Not here.
(vc-finish-logentry): Run vc-finish-logentry-hook.
1997-02-27 01:21:24 +00:00
Richard M. Stallman
2bb00bdd36 (vc-do-command): If OKSTATUS is nil, ignore errors.
(vc-backend-release): For RCS, pass nil for OKSTATUS.
1997-02-10 20:43:37 +00:00
André Spiegel
28a25aa5ea Changed my e-mail address in the header. 1997-01-03 13:51:36 +00:00
André Spiegel
8172cd867b (vc-next-action-on-file, vc-update-change-log,
vc-backend-checkout, vc-backend-steal): Use `vc-user-login-name'
instead of `user-login-name'.
(vc-update-change-log): If `user-full-name' is nil, try
`user-login-name'.  Failing that, use uid as a string.
(vc-make-buffer-writable-hook): Removed (was unused).
1996-12-26 12:07:05 +00:00
Geoff Voelker
b86b9918dd Use w32 instead of ms-windows for window-system symbol 1996-11-19 06:59:17 +00:00
Richard M. Stallman
81b8f0e64b (vc-backend-print-log): Use "cvs log" to get log entries, not "cvs rlog". 1996-11-07 03:17:16 +00:00
André Spiegel
010d626940 (vc-dired-reformat-line): Discard check for numerical value of
vc-locking-user.
1996-10-17 20:35:46 +00:00
André Spiegel
b667752da8 (vc-print-log): Set the display window so that it shows
the current log entry completely.
1996-09-16 14:43:29 +00:00
André Spiegel
6dfe5fe02d (vc-print-log): Move point to the log entry of the current version. 1996-09-08 11:52:05 +00:00
Richard M. Stallman
a633d9afc2 (vc-register-switches): New variable.
(vc-backend-admin): Use vc-register-switches.
1996-09-01 18:33:12 +00:00
Richard M. Stallman
d68e699042 (vc-update-change-log): Doc fix. 1996-08-30 18:42:29 +00:00
Richard M. Stallman
73a9679c91 (vc-update-change-log): Remove code which found RCS files
only in RCS directory; leave this to rcs2log, which will find
entries for CVS or RCS/*,v and *,v.  Lose sub-process' stderr
output.  Doc fix.
1996-08-29 21:22:07 +00:00
Richard M. Stallman
bcbe4d5724 (vc-do-command): Bind win32-quote-process-args. 1996-07-26 21:22:34 +00:00
Richard M. Stallman
1694bd1603 (vc-cancel-version): Fix paren error. 1996-06-05 17:57:26 +00:00
Richard M. Stallman
4c145b9e93 (vc-rename-file): After renaming, update VC info and modeline.
Preserve buffer-read-only.
1996-05-13 01:31:28 +00:00
Richard M. Stallman
c9b35eceec (vc-comment-ring): Initialise using make-ring.
(vc-clear-context): Initialise vc-comment-ring using make-ring.
(vc-finish-logentry): Don't initialise vc-comment-ring here.
1996-04-16 22:33:07 +00:00
Richard M. Stallman
b91916f330 (vc-update-change-log): Use add-log-full-name and
add-log-mailing-address only if non-nil.
1996-03-22 13:25:21 +00:00
Richard M. Stallman
9596811a3d Comment change. 1996-03-02 06:37:35 +00:00
Richard M. Stallman
48078f8f69 (vc-diff): Make NOT-URGENT default to t. 1996-01-26 19:36:34 +00:00
Karl Heuer
f008ca5831 * vc.el (vc-backend-checkout): Use let to restore default-directory.
(vc-next-action-dired): Likewise.
1996-01-24 23:32:49 +00:00
Erik Naggum
b578f267af Update FSF's address. 1996-01-14 07:34:30 +00:00
André Spiegel
ae2506d066 (vc-cancel-version): Use search-forward to scan error message. Added
comments.
1996-01-10 15:24:03 +00:00
Karl Heuer
449decf581 (vc-update-change-log): Use add-log-full-name and
add-log-mailing-address if they are defined.
1996-01-08 22:24:05 +00:00
Karl Heuer
a7acbbe4d4 Comment fixes. 1996-01-05 22:21:28 +00:00
André Spiegel
7e48e09205 (vc-cancel-version): Handle versions that start a new branch.
(vc-backend-checkout): SCCS case: handle empty revision number.
(vc-diff): Don't pop to the *vc-diff* buffer if file is unchanged.
Better doc strings for a few variables.
1996-01-04 16:00:05 +00:00
Erik Naggum
90681ae2ef (vc-backend-checkin): Use vc-checkin-switches. 1995-12-29 20:49:46 +00:00
Richard M. Stallman
e7ffe86a90 (vc-revert-buffer1): Pass t as preserve-modes to revert-buffer. 1995-12-25 21:07:12 +00:00
Richard M. Stallman
2c28ac43ed Fix error message style.
(vc-backend-checkout, vc-backend-checkin):
Allow vc-checkin-switches to be a string.
1995-12-25 18:46:17 +00:00
Richard M. Stallman
221cc4f4dc (vc-directory): Require dired.
(vc-revert-buffer): Ignore vc-suppress-confirm.
1995-11-13 20:24:46 +00:00
André Spiegel
99e76ddade (vc-backend-diff): Use new variable vc-rcsdiff-knows-brief. 1995-11-02 09:36:01 +00:00
André Spiegel
1ba1cade16 (vc-next-action-on-file): When locking the latest trunk version,
use empty version number.
1995-10-04 15:13:04 +00:00
André Spiegel
2f119435a6 (vc-dired-mode): Now a major mode derived from dired-mode.
(vc-directory): Take DIRNAME as an argument.  Ask for it in
the minibuffer.
Don't kill pre-existing vc-dired buffers (dired now re-uses the
right one).
(vc-file-tree-walk): New argument DIRNAME.  Updated all callers.
(vc-dired-update): New function.  `g' in vc-dired-mode calls it.
(vc-dired-reformat-line): Handle different ls -l formats.
1995-09-08 20:39:17 +00:00
André Spiegel
8dd7134575 (vc-dired-update-line): Don't use dired-do-redisplay.
(vc-next-action-dired): Adjust default-directory before calling
vc-next-action-on-file.
(vc-next-action-on-file): Handle CVS merge in vc-dired-mode correctly.
(vc-next-action): Ask for a check-in comment if there are "added" CVS files.
Don't special-case single files in vc-dired-mode.
(vc-file-clear-masterprops): Typo fix.
(vc-latest-on-branch-p): Always true for CVS.
(vc-directory): Header change.  Do display the buffer, even if no
locked/registered files were found.
1995-08-29 10:52:14 +00:00
André Spiegel
b0c9bc8c21 (vc-directory): Kill existing vc-dired buffers for this directory.
Provide a better header.  Corrected the check whether any files were
found at all (don't display a listing in this case).  Under CVS,
display cvs-status rather than vc-locking-user.
(vc-next-action-on-file): When doing a check-in in vc-dired-mode, find
the file in another window.
(vc-next-action-dired): Update dired listing while processing the
files.
(vc-next-action): Check whether a check-in comment is really needed
for this mass operation.
(vc-checkout): Resynch the buffer, even if it's not current.
(vc-dired-state-info, vc-dired-update-line): New functions.
(vc-dired-prefix-map): Added local definition for `g' and `='.
(vc-dired-reformat-line): Simplified.  Erase the hardlink count from
the listing, because it doesn't relate to version control.
(vc-rcs-release, vc-cvs-release, vc-sccs-release): New variables, may
be set by the user.
(vc-backend-release, vc-release-greater-or-equal, vc-backend-release-p):
New Functions.
(vc-do-command): Allow FILE to be nil.
(vc-backend-checkin): When creating a branch, don't bother to unlock
the old version if this is RCS 5.6.2 or higher.
(vc-next-action-on-file): Allow lock-stealing only if RCS 5.6.2 or
higher.
(vc-backend-admin, vc-backend-checkin): If available, use ci -i and -j.
Updated Developer's Notes.
1995-08-25 18:30:11 +00:00
André Spiegel
6b9d0764ce Removed the comment that said we assume strict locking.
(vc-next-action-dired): Don't switch to vc-parent-buffer, because that
was already done.
1995-08-22 17:53:14 +00:00
André Spiegel
8e7eda1a73 (vc-latest-on-branch-p): Under CVS, handle the case when the file is
added, but not yet committed.
(vc-backend-checkout): RCS case: In non-strict locking mode, force to
overwrite the writable workfile. CVS case: Do the right thing in
CVSREAD-mode.
1995-08-21 19:27:05 +00:00
Richard M. Stallman
4040437e1f (file-regular-p-18): Fix test for whether to use this. 1995-08-20 01:45:13 +00:00
André Spiegel
61dee1e7cf (vc-next-action-on-file): Changed doc string, CVS case.
(vc-backend-checkin): Clear master properties before doing the
check-in.  In the CVS case, catch error and display an appropriate
message in the echo area.
(vc-backend-revert): Clear master properties, because some might get
outdated by the operation.
(vc-backend-merge-news): Scan the output of "cvs update" and find out
whether conflicts have occurred.
(vc-finish-logentry): Delete the *VC-log* buffer *before* doing the
actual check-in. That leads to a better display in case the check-in
fails.
(vc-latest-on-branch-p): Defined it for CVS in the obvious way.
(vc-next-action-on-file): Removed special CVS cases. At this level,
CVS is now mostly handled like the other backends.
(vc-backend-checkout): CVS case: Clear sticky tag as default when
doing a verbose checkout. (This used to be done in
vc-next-action-on-file.)
1995-08-18 20:29:14 +00:00
André Spiegel
e163b283fe (vc-next-action-on-file): Moved the setting of the default branch to
vc-backend-checkout, where it belongs.
(vc-backend-checkout): If an explicit version was specified, adjust
the default branch accordingly.
1995-08-17 14:10:09 +00:00
André Spiegel
7d88be5279 Changed references to vc-top-version into vc-master-workfile-version. 1995-08-17 13:50:33 +00:00
André Spiegel
9341ff29bc (vc-next-action-on-file): Query when trying to lock non-latest
version.
1995-08-17 13:08:36 +00:00
André Spiegel
c8de1d9112 (vc-revert-buffer1): Split part of the function into vc-buffer-context
and vc-restore-buffer-context, so we can use it also in other
circumstances.
(vc-buffer-context, vc-restore-buffer-context): New functions.
(vc-clear-headers): New function, uses the above.
(vc-cancel-version): When `norevert', locks the most recent remaining
version.  Also, refuse to work on anything but the latest version of
a branch.  Removed the check whether the version is the user's,
because that is difficult to decide, now that multiple branches are
possible.
(vc-latest-on-branch-p): New function.
(vc-head-version): New access function to the already existing
property.
(vc-trunk-p, vc-branch-part): Functions moved before first use.
1995-08-17 12:40:03 +00:00
Richard M. Stallman
8cc8dc43f7 (vc-dired-reformat-line): Display eight character user names correctly. 1995-08-10 19:46:16 +00:00
Richard M. Stallman
fab2e906ba (vc-revert-buffer): In a dedicated solitary window,
make the frame invisible instead of trying to delete window.
1995-08-08 21:18:36 +00:00
Richard M. Stallman
503b5c8591 (vc-resynch-buffer): New function.
(vc-locked-example): Renamed to vc-snapshot-precondition. It now also
checks whether any of the files are visited.
(vc-retrieve-snapshot): If any files are visited, ask whether to
revert their buffers. Use vc-backend-checkout and vc-resynch-buffer
to do that, instead of vc-checkout.

(vc-backend-checkout): Adjust default-directory so that the
checked-out file goes to the right place.
1995-07-29 01:40:43 +00:00
Richard M. Stallman
6aa1372974 (vc-do-command): Added parameter BUFFER (the default,
if nil, is *vc*). Updated all callers.
(vc-next-action-on-file, vc-diff, vc-version-diff, vc-backend-diff):
Use buffer *vc-diff* for diff output instead of *vc*.
1995-07-18 20:52:39 +00:00
Karl Heuer
25b80ac146 (vc-backend-merge-news): Force to refetch the
properties after the merge.
1995-07-17 23:04:30 +00:00
Richard M. Stallman
7e86965908 (vc-start-entry): Prevent lossage when doing a mass checkin from
a VC-dired buffer (Andre Spiegel's code change was slightly wrong).
1995-06-26 23:42:30 +00:00
Richard M. Stallman
9e0cc6e686 (vc-backend-admin, vc-backend-checkin): Assume that
comments are empty if they contain only white space.
1995-06-23 15:50:17 +00:00
Richard M. Stallman
993a1a444f (vc-register): Inhibit backups for the file's buffer
(vc-add-triple, vc-lookup-triple, vc-record-rename):
Use absolute file names to access the SCCS named configuration files
("VC-names").

(vc-retrieve-snapshot): Use vc-checkout instead of
vc-backend-checkout, as the former also updates the current buffer.
(vc-file-tree-walk, vc-file-tree-walk-internal): Use
expand-file-name, so that FUNC gets called with an unabbreviated name.
1995-06-19 13:36:45 +00:00
Richard M. Stallman
b7011339a2 (vc-lookup-triple): changed the code that used to call
vc-master-info, which no longer exists. Adapted to the new
parameter format of vc-parse-buffer.
1995-06-16 18:11:46 +00:00
Richard M. Stallman
d7eff0e04e (vc-backend-dispatch): Move definition before first use. 1995-06-16 18:04:47 +00:00
Richard M. Stallman
88a2ffaf93 Adapt to the changes in vc-hooks.el, namely, the new
'none-value of vc-locking-user, and the consistent caching
of all properties.  Especially, make the properties survive
check-ins and check-outs.  Various minor bug fixes.

(vc-file-clear-masterprops): New function.

(vc-backend-checkin, vc-backend-revert): Set vc-locking-user
to 'none if the file is unlocked.

(vc-backend-checkin, vc-backend-revert, vc-backend-checkout):
Use vc-file-clear-masterprops, and adjust those properties
that are not cleared.

(vc-resynch-window):  Temporarily remove vc-find-file-hook, so
that we don't lose the file properties during check-in/out.

(vc-resynch-window): Do not try to delete the current window if
`vc-keep-workfiles' is nil (doesn't make sense; killing the
buffer is enough.)

(vc-backend-checkin): Rewrote the code that adjusts the default
branch and removes any locks that might remain after check-in.

(vc-cancel-version): Abort with error message in the CVS case.
(The error used to be signalled in vc-backend-uncheck, which is
a little too late.)

(vc-minor-revision): Function removed.
1995-06-16 18:02:51 +00:00
Richard M. Stallman
7d66500869 (vc-backend-checkin): Provide an explicit string saying
the log message is empty instead of providing it as empty.
Always use -m option for ci.
1995-06-14 11:16:17 +00:00
Karl Heuer
d144b02862 (vc-backend-checkin): Handle RCS `co'-output in the event
that a check-in only results in reverting to the previous version.
Also be more robust if the new version number cannot be told from
what `co' says.
1995-06-09 01:21:18 +00:00
Karl Heuer
f1b82fc8cf (vc-register): Check for a visited file first thing. 1995-06-09 01:17:59 +00:00
Karl Heuer
f7aabd88d8 (vc-register): Clean error message if no visited file. 1995-06-07 20:50:55 +00:00
Karl Heuer
c8502397cc (vc-revert-buffer1): Delete the special code for font-lock. 1995-05-29 07:00:06 +00:00
Karl Heuer
f3c61d82f2 (vc-next-action-on-file): Add missing let-binding.
(vc-default-backend, vc-keep-workfiles, vc-consult-headers):
(vc-mistrust-permissions, vc-path): Vars moved to vc-hooks.el.
(vc-match-substring, vc-lock-file, vc-parse-buffer, vc-master-info):
(vc-log-info, vc-consult-rcs-headers, vc-fetch-properties):
(vc-backend-subdirectory-name, vc-locking-user, vc-true-locking-user):
(vc-latest-version, vc-your-latest-version, vc-branch-version):
(vc-workfile-version): Functions moved to vc-hooks.el.
(vc-trunk-p, vc-minor-revision, vc-branch-part): Functions moved
here from vc-hooks.el.
1995-04-26 21:47:35 +00:00
Richard M. Stallman
c6d4f6288a (vc-backend-checkout): Pass vc-checkout-switches arg
properly to vc-do-command.

(vc-update-change-log): Use vc-buffer-backend in menu-enable.

(vc-file-clearprops, vc-workfile-version): Functions moved to vc-hooks.el.

Add branch support for RCS; treat CVS more like RCS and SCCS.
(vc-next-action-on-file): changed CVS handling, such that C-x C-q
works as with RCS and SCCS.
(vc-consult-rcs-headers): New function.
(vc-branch-version): New per-file property, refers
to the RCS version selected by `rcs -b'.
(vc-workfile-version): New function.  Also new per-file property
(vc-consult-headers): New parameter variable.
(vc-mistrust-permissions): Default set to `nil'.
(vc-locking-user): Property is now cached.  The other functions
update it as necessary.  Attempts to use RCS headers if enabled.
(vc-log-info, vc-parse-buffer): Various bug fixes.  Added support
for property `vc-branch-version'.
(vc-backend-checkout): RCS case: if no explicit version
is specified, check out `vc-workfile-version'.  After check-out,
set `vc-workfile-version' according to the version number
reported by "co".
(vc-backend-checkin): RCS case: remove any remaining locks
if a new branch was created.  After every check-in, adjust
the current branch using `rcs -b' (this cannot be avoided).
CVS case: allow for explicit checkin, but only on the trunk.
(vc-next-action-on-file, vc-backend-checkout, vc-backend-checkin,
vc-backend-revert, vc-backend-diff): Explicitly use
vc-workfile-version as the default version to operate on.
1995-04-26 10:12:24 +00:00
Richard M. Stallman
243a81f524 (vc-update-change-log): Use new -u option for rcs2log. 1995-03-21 20:22:41 +00:00
Richard M. Stallman
b75f9a7686 (vc-path): Use /usr/sccs only if it is a dir. 1995-03-11 02:17:04 +00:00
Boris Goldowsky
6b60c5d19f (vc-comment-to-change-log): Remove ^ from paragraph-start & paragraph-separate. 1995-03-02 15:55:09 +00:00
Richard M. Stallman
46cd263f61 (vc-do-command): Search vc-path first, not last. 1995-03-01 08:30:54 +00:00
Roland McGrath
52110560e9 (vc-log-info): Don't switch to the *vc* buffer before running
vc-do-command, because that would change its default-directory.
1995-02-20 09:39:26 +00:00
Richard M. Stallman
632e95254c (vc-do-command): Arrange for the default-directory variable
in *vc* to be re-set each time this function uses it.
Discard current dir from front of FILE later on,
and only if last = `WORKFILE'.

Undo Dec 10 change:
(vc-directory, vc-dired-reformat-line): Changed back.
(vc-directory-18): Old function restored.
(vc-dir-all-files): Function deleted.

(vc-next-action-on-file): If file is not registered,
check file out after registering it.
(vc-next-action-dired): Restore the window configuration after
doing vc-next-action on each file in a VC-dired buffer.
(file-regular-p-18): New function.
(file-regular-p): Define, if not already defined.
1995-01-24 06:33:41 +00:00
Richard M. Stallman
e70bdc9855 Revert Jan 15 and Jan 5 changes. 1995-01-19 07:18:47 +00:00
Roland McGrath
4db1f5aa7b (vc-do-command): Use set-buffer-modified-p instead of not-modified. 1995-01-15 11:00:38 +00:00
Karl Heuer
48ce8399f8 (vc-directory): Prompt for a directory, not a file. 1995-01-14 03:10:53 +00:00
Richard M. Stallman
165d7ff45e (vc-do-command): Change RCS handling so rcsdiff won't strip
away relative-pathname information.  This function no longer sets the
default directory.  Also, mark the *vc* output buffer unmodified.
(vc-revert-buffer1): Handle font-lock mode correctly.
(vc-diff, vc-print-log): vc-do-command no longer sets the default
directory, but doing so	is advantageous for these cases.
(file-executable-p-18):	Better portability to Emacs 18.
(vc-directory-exclusion-list, vc-file-tree-walk-internal):
Implement the new variable vc-directory-exclusion-list to prune
tree walks.  Initial value tells it to ignore SCCS and RCS subdirectories.
1995-01-05 22:11:35 +00:00
Richard M. Stallman
3b5e348ccc (vc-dir-all-files): New function.
(vc-directory): Show just one directory by default.
Read dir name in minibuffer.
(vc-directory-18): Deleted.
1994-12-10 09:15:58 +00:00
Roland McGrath
f797cb30c9 (vc-backend-checkout): Finish last change. 1994-11-22 12:23:40 +00:00
Roland McGrath
0fb16286c2 (vc-checkout-switches): New variable.
(vc-backend-checkout): Use it.
1994-11-22 11:43:54 +00:00
Thien-Thi Nguyen
eceb584fa6 Update maintainer line. 1994-11-07 08:30:11 +00:00
Richard M. Stallman
80688f5c3b (vc-backend-checkin): When CVS checks in a file, it is
immediately checked out again, so set vc-checkout-time.

(vc-fetch-properties): CVS 1.4A1 says "Repository revision".

(vc-locking-user): Do something sensible when the backend
is CVS.  May return a numerical UID or a string when CVS is used.
(vc-dired-reformat-line): Handle numerical arguments.

(vc-backend-checkout): Don't extract CVS files twice.

(vc-next-action-on-file): Handle return value from
vc-backend-merge-news correctly.

(vc-rename-file): Fixed call to vc-backend-dispatch.
(vc-make-buffer-writable-hook): New hook, for CVS only.
(vc-header-alist): Added header for CVS.
(vc-next-action-on-file): Added support for CVS.
(vc-next-action, vc-checkin, vc-revert-buffer): Doc fixes.
(vc-rename-file): Disable if the backend is CVS.
(vc-log-info): New arguments: LAST and FLAGS, passed on to
vc-do-command.  All callers updated.
(vc-fetch-properties): Implement support for CVS files.

(vc-backend-checkin): Args REV and COMMENT no longer optional.
Implement support for CVS.
(vc-backend-revert): Implement support for CVS.
(vc-backend-diff): Treat files which are added, but not yet committed,
specially (diff them against /dev/null).
(vc-backend-merge-news): New function.
(vc-log-mode): Talk a little about CVS in the comment.

(vc-log-info): Simplify code.

(vc-do-command): New argument LAST.  All callers updated.
Legal values for LAST are 'MASTER and 'BASE.
(vc-backend-dispatch): New argument C, used by CVS.  All callers
updated, but many just passes an (error "NYI") form.
(vc-backend-admin): Issue a "cvs add" (but not a "cvs commit").
(vc-backend-checkout, vc-backend-logentry-check, vc-backend-print-log,
vc-backend-assign-name, vc-backend-diff, vc-check-headers): Handle CVS.
(vc-backend-steal, vc-backend-uncheck): Give error if using CVS.

(vc-backend-diff): Fixed typo in SCCS code.
1994-10-03 21:57:47 +00:00
Richard M. Stallman
e837a82fd7 (vc-register): Verify an old master file really still exists
before giving error.  If it has disappeared, ask for confirmation.
1994-10-02 01:49:29 +00:00
Richard M. Stallman
6242bee463 (vc-finish-steal): Fix typo in previous change. 1994-09-24 01:10:23 +00:00
Richard M. Stallman
3e3da61f35 (vc-finish-steal): Do vc-resynch-window in the right buffer.
(vc-steal-lock): Delete spurious reference to `configuration'.
1994-09-24 01:08:40 +00:00
Richard M. Stallman
29fc1ce993 (vc-backend-checkout): Add if-statements to the shell cmds
to discard the extra arg some shells make.

(vc-rename-file): Add autoload cookie.

(vc-steal-lock): (1) Function should be non-interactive, because it
doesn't work when called directly by the user. (2) Don't display
revision "nil" when stealing lock if revision is unknown.  (3) Put
"Stolen lock on <file>" instead of just the file name in the Subject
of the notification message.
1994-09-24 00:58:07 +00:00
Richard M. Stallman
eadcb02c53 (vc-do-command): Temporarily add vc-path to the end of PATH. 1994-09-11 08:36:36 +00:00
Richard M. Stallman
c9ce5e2c7a (vc-backend-checkout): Don't use -G for SCCS. 1994-08-26 00:05:30 +00:00
Richard M. Stallman
6bcb1d4ede (vc-admin): Pass nil as last arg to vc-start-entry. 1994-08-18 00:38:13 +00:00
Richard M. Stallman
dbf87856a1 Comment change. 1994-07-26 20:37:32 +00:00
Richard M. Stallman
cdaf7a1a56 (vc-next-action): Even in 1-file case, get its name from FILES.
(vc-finish-logentry): Don't do vc-buffer-sync on the parent buffer
when that parent buffer is a dired buffer.
1994-07-26 20:34:16 +00:00
Richard M. Stallman
5c6f8be0d2 At compile time, require dired.
(vc-finish-logentry): Use the proper files buffer for vc-buffer-sync.
1994-07-19 22:30:06 +00:00
Richard M. Stallman
e2bef5c3a2 (vc-finish-logentry): Use the value of vc-log-after-operation-hook of
*VC-log* buffer instead of vc-parent-buffer.
1994-07-13 09:34:01 +00:00
Richard M. Stallman
b965445fdf (vc-start-entry): New arg after-hook.
Set vc-log-operation-hook locally.
(vc-next-action-on-file): Not here.
(vc-admin): Pass new arg.
(vc-checkin): Pass new arg instead of setting vc-log-operation-hook.
1994-07-06 22:08:03 +00:00
Richard M. Stallman
ce37bf2068 (vc-update-change-log): Pass a -n option to rcs2log. 1994-07-02 04:49:30 +00:00
Karl Heuer
d733c5ec03 Update copyright. 1994-05-03 22:46:37 +00:00
Richard M. Stallman
cec574b950 (vc-backend-diff): Test of cmp was backwards. 1994-04-22 04:31:27 +00:00
Richard M. Stallman
61446fe76f (vc-checkin): Undo previous change. 1994-03-30 02:14:11 +00:00
Roland McGrath
32eff0b035 (vc-checkin): Insert name of current defun in comment buffer. 1994-03-29 00:03:10 +00:00
Richard M. Stallman
4561b08b0a Comment change. 1994-02-18 19:46:53 +00:00
Paul Eggert
47ca02a62c (vc-lookup-triple): Yield nil, not "", if NAME is nil.
Otherwise vc-revert-buffer fails with SCCS.
1994-02-18 02:51:33 +00:00
Karl Heuer
412082915f (vc-comment-to-change-log): Load add-log before binding
add-log-current-defun-function.
1994-02-09 23:02:28 +00:00
Eric S. Raymond
1892807a4d vc-parse-buffer: arrange for old properties to get cleared when their
match string is not found in the master file.
1994-02-02 03:27:26 +00:00
Richard M. Stallman
d0b81713e0 Comment change. 1994-01-14 14:16:29 +00:00
Paul Eggert
b2396d1f39 (vc-finish-logentry): Sync the buffer in case the user modified it while
editing the comment.
1994-01-03 20:53:26 +00:00
Richard M. Stallman
97d3f95071 (vc-buffer-sync, vc-diff): New arg NOT-URGENT.
(vc-diff): Pass new arg.
1993-12-24 23:07:23 +00:00
Richard M. Stallman
7d847440c5 (vc-record-rename): Don't use replace-regexp. 1993-12-23 02:51:19 +00:00
Paul Eggert
9a51ed3ae4 (vc-workfile-unchanged-p): Add optional argument
specifying whether we want to compute the differences if the
file is changed.  Otherwise, use cmp instead of diff.
(vc-next-action-on-file): Use new vc-workfile-unchanged-p option;
this avoids recomputing the differences in some cases.
(vc-backend-diff): OLDVERS is now optional; all callers changed.
New optional argument CMP says to use `cmp' rather than `diff'.
1993-12-03 09:30:38 +00:00
Paul Eggert
73960ffd67 (vc-locking-user): Don't assume that the umask permits
group-write and other-write.
1993-12-02 07:47:48 +00:00
Richard M. Stallman
bbf97570e5 (vc-buffer-sync): Signal error if user says no. 1993-11-27 11:39:02 +00:00
Eric S. Raymond
ba5c3004d3 vc-static-header-alist shouldn't have been declared const. 1993-11-15 04:13:48 +00:00
Richard M. Stallman
d52f0de91e (vc-rename-file): Don't overwrite an existing file.
Fix test for unsaved files.
Calculate name of new master file properly.
1993-11-12 22:31:12 +00:00
Paul Eggert
219a7d3fd6 (vc-backend-checkout): Do not set umask to value that does not allow
user-write permission while `co' is running; some versions of `co'
won't work, because they can't write their temporaries.
1993-10-14 18:28:24 +00:00
Eric S. Raymond
9a47d40b55 (vc-next-action) Fix (throw ... ) invocation to work with 19; this
allows vc-next-action on all marked files in a dired buffer to work.

(vc-finish-logentry) There isn't necessarily a *VC-log-entry* buffer
to remove if this function was called from within a dired buffer.  Fix
its handling of this case.
1993-10-04 20:51:01 +00:00
Paul Eggert
deb9ebc6cb (vc-find-binary): Fix bug; it always claimed success. 1993-09-27 04:36:31 +00:00
Brian Fox
4805f679cd (vc-do-command): Remove debugging output. Use (forward-line -1) instead
of (previous-line 1).
(vc-print-log): Delete extraneous lines of RCS output if present.
1993-09-21 07:51:53 +00:00
Paul Eggert
f181899408 (vc-version-other-window): New function.
(vc-backend-checkout): Add optional arg workfile, which specifies where
to put the working file.
1993-09-15 23:19:13 +00:00
Paul Eggert
fd6217ac0c (vc-backend-steal): Fix typo when invoking the 'rcs' command
to steal the lock.
1993-09-08 19:06:01 +00:00
Paul Eggert
1dabb4e676 (vc-locked-example): Renamed from vc-quiescent-p. Now yields example of
why current directory is not quiescent.  All callers changed to use this.
1993-08-27 03:55:16 +00:00
Paul Eggert
c6bfcd1295 (vc-previous-comment): Use mod', not ring-mod'. 1993-08-10 04:14:17 +00:00
Jim Blandy
064726ac89 * vc.el (vc-diff, vc-directory-18): Add missing paren to end of
vc-diff, and remove extra paren from vc-directory-18.
1993-08-08 00:44:26 +00:00