1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-19 10:22:27 +00:00
Commit Graph

291 Commits

Author SHA1 Message Date
André Spiegel
e30140cebb (vc-insert-file): When called with a LIMIT regexp,
delete anything that comes after LIMIT from the buffer.
2002-07-19 13:26:11 +00:00
André Spiegel
db8afaee0d Don't bind vc-toggle-read-only to C-x C-q.
(vc-toggle-read-only): Explain in the doc string that users can bind
this to C-x C-q.
(vc-checkout-model): Change doc string to refer to vc-next-action,
not vc-toggle-read-only.
2002-07-16 17:42:57 +00:00
André Spiegel
c1cd70afea (vc-menu-map): New entry "Update to Latest Version", which calls
vc-update.  Use the term "Base Version" instead of "Last Version"
for the entries "Revert" and "Compare".
2002-02-28 13:11:11 +00:00
André Spiegel
060a1456ce Patch by Jonathan Kamens <jik@kamens.brookline.ma.us>.
(vc-mode-line): Set vc-mode to nil if the file is
not version-controlled.  This is necessary, e.g., if the file has
just been reverted, and thus was previously under version control
but isn't any longer.
(vc-find-file-hook): Likewise.
2002-02-21 20:56:58 +00:00
André Spiegel
cb5af02aed (vc-checkout-model, vc-state, vc-workfile-version): Return nil if
FILE is not registered.
(vc-check-master-templates, vc-default-make-version-backups-p): Doc fix.
2001-12-14 07:58:33 +00:00
Pavel Janík
9aa10a4356 (vc-default-make-version-backups-p): Doc fix. 2001-12-11 07:35:18 +00:00
André Spiegel
becd6193d4 (vc-error-occured): Backquotified.
(vc-file-prop-obarray): Use prime length for better efficiency.
Suggested by Kalle Olavi Niemitalo <kon@iki.fi>.
2001-11-09 14:58:21 +00:00
Stefan Monnier
79e954d0ac (vc-delete-automatic-version-backups): Handle the
case where the file is relative.
2001-09-24 16:37:10 +00:00
Stefan Monnier
d455f4f7a9 (vc-delete-automatic-version-backups):
Don't fail if the directory doesn't exist.
2001-09-22 20:09:56 +00:00
Stefan Monnier
14fef9dea4 (vc-mode): Dummy function for doc purposes.
(vc-prefix-map): Moved back from vc.el.
2001-07-11 22:05:01 +00:00
André Spiegel
c3ce5e29ba Require 'cl during compilation. 2000-11-24 16:25:59 +00:00
André Spiegel
2ce63cb7f5 Undo prev change. 2000-11-20 14:01:35 +00:00
André Spiegel
19a79b62ec (vc-workfile-unchanged-p, vc-default-workfile-unchanged-p): Moved here
from vc.el.
2000-11-19 09:58:38 +00:00
Stefan Monnier
4d2806e27a (vc-insert-file): Don't assume byte==char. 2000-11-06 13:21:09 +00:00
André Spiegel
ff40374a7b (vc-insert-file): Rewritten. Don't bother about auto-save-mode. 2000-11-04 18:24:50 +00:00
André Spiegel
48b15d3f46 (vc-make-version-backup): Don't do it on MS-DOS without long file
names.
2000-10-27 13:26:18 +00:00
André Spiegel
e3f955b6a6 (vc-version-backup-file-name): Use file.~<rev>~ for manual backups and
file.~<rev>.~ for automatic ones.
2000-10-27 12:11:55 +00:00
André Spiegel
e896a9e1dc (vc-version-backup-file-name): New optional args MANUAL and REGEXP.
(vc-delete-automatic-version-backups, vc-make-version-backup): New
functions.
(vc-before-save): Use the latter.
(vc-default-make-version-backups-p): Added `-p' suffix to avoid
confusion.
2000-10-22 15:28:58 +00:00
Stefan Monnier
67c6f446df (vc-mode-line): Fix interactive spec. 2000-10-05 22:47:21 +00:00
André Spiegel
d445a9756a (vc-before-save, vc-default-make-version-backups,
vc-version-backup-file-name): New functions.
2000-10-04 09:50:21 +00:00
André Spiegel
1f22ad2403 (vc-registered): If FILE used to be registered under a certain
backend, try that one first.
2000-10-02 12:02:37 +00:00
André Spiegel
64341022ab (vc-name): Force correct computation of the value in case it is missing. 2000-09-21 13:15:26 +00:00
Dave Love
5eb2b516a6 Doc fixes. 2000-09-12 13:00:30 +00:00
Gerd Moellmann
8ddceaf120 Don't require `vc' during compilation;
requiring it leads to a recursive loading of vc.el and vc-hooks.el
during bootstrap.
2000-09-06 10:41:41 +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
0e0d98319e Minor doc fixes.
(vc-default-mode-line-string): Show state
`needs-patch' as a `-' too.
(vc-after-save): Call vc-dired-resynch-file.
(vc-file-not-found-hook): Ask the user whether to
check out a non-existing file.
(vc-find-backend-function): If function doesn't
exist, return nil instead of error.
(vc-call-backend): Doc fix.
(vc-prefix-map): Move the autoload from vc.el.
(vc-simple-command): Removed.
(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-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-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).
 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-loadup): Remove.
(vc-find-backend-function): Use `require'.  Also, handle the case
where vc-BACKEND-hooks.el doesn't exist.
(vc-call-backend): Cleanup.
(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.
(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.
(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.
(vc-default-back-end, vc-buffer-backend): Remove.
(vc-kill-buffer-hook): Remove `vc-buffer-backend' handling.
(vc-loadup): Load files quietly.
(vc-call-backend): Oops, brain fart.
(vc-locking-user): If locked by the calling user,
return that name.  Redocumented.
(vc-user-login-name): Simplify the code a tiny bit.
(vc-state): Don't use 'reserved any more.  Just use the same
convention as the one used for vc-<backend>-state where the
locking user (as a string) is returned.
(vc-locking-user): Update, based on the above convention. The
'vc-locking-user property has disappeared.
(vc-mode-line, vc-default-mode-line-string): Adapt to new
`vc-state'.
(vc-backend-functions): Removed vc-toggle-read-only.
(vc-toggle-read-only): Undid prev change.
(vc-master-templates): Def the obsolete var.
(vc-file-prop-obarray): Use `make-vector'.
(vc-backend-functions): Add new hookable functions
vc-toggle-read-only, vc-record-rename and vc-merge-news.
(vc-loadup): If neither backend nor default functions exist, use
the backend function rather than nil.
(vc-call-backend): If the function if not bound yet, try to load
the non-hook file to see if it provides it.
(vc-call): New macro plus use it wherever possible.
(vc-backend-subdirectory-name): Use neither `vc-default-back-end'
nor `vc-find-binary' since it's only called from
vc-mistrust-permission which is only used once the backend is
known.
(vc-checkout-model): Fix parenthesis.
(vc-recompute-state, vc-prefix-map): Move to vc.el.
(vc-backend-functions): Renamed `vc-steal' to
`vc-steal-lock'.
(vc-call-backend): Changed error message.
(vc-state): Added description of state `unlocked-changes'.
(vc-backend-hook-functions, vc-backend-functions):
Updated function lists.
(vc-call-backend): Fixed typo.
(vc-backend-hook-functions): Renamed vc-uses-locking
to vc-checkout-model.
(vc-checkout-required): Renamed to vc-checkout-model.
Re-implemented and re-commented.
(vc-after-save): Use vc-checkout-model.
(vc-backend-functions): Added `vc-diff' to the list
of functions possibly implemented in a vc-BACKEND library.
(vc-checkout-required): Bug fixed that caused an error to be
signaled during `vc-after-save'.
(vc-backend-hook-functions): `vc-checkout-required'
updated to `vc-uses-locking'.
(vc-checkout-required): Call to backend function
`vc-checkout-required' updated to `vc-uses-locking' instead.
(vc-parse-buffer): Bug found and fixed.
(vc-backend-functions): `vc-annotate-command',
`vc-annotate-difference' added to supported backend functions.
 vc-state-heuristic added to
vc-backend-hook-functions.
 Implemented new state model.
(vc-state, vc-state-heuristic, vc-default-state-heuristic): New
functions.
(vc-locking-user): Simplified.  Now only needed if the file is
locked by somebody else.
(vc-lock-from-permissions): Removed.  Functionality is in
vc-sccs-hooks.el and vc-rcs-hooks.el now.
(vc-mode-line-string): New name for former vc-status.  Adapted.
(vc-mode-line): Adapted to use the above.  Removed optional
parameter.
(vc-master-templates): Is really obsolete.
Commented out the definition for now.  What is the right procedure
to get rid of it?
(vc-registered, vc-backend, vc-buffer-backend, vc-name): Largely
rewritten.
(vc-default-registered): Removed.
(vc-check-master-templates): New function; does mostly what the
above did before.
(vc-locking-user): Don't rely on the backend to set the property.
(vc-latest-version, vc-your-latest-version): Removed.
(vc-backend-hook-functions): Removed them from this list, too.
(vc-fetch-properties): Removed.
(vc-workfile-version): Doc fix.
(vc-consult-rcs-headers):
Moved into vc-rcs-hooks.el, under the name
vc-rcs-consult-headers.
(vc-master-locks, vc-master-locking-user):
Moved into both
vc-rcs-hooks.el and vc-sccs-hooks.el.  These properties and access
functions are implementation details of those two backends.
(vc-parse-locks, vc-fetch-master-properties): Split
into back-end specific parts and removed.  Callers not updated
yet; because I guess these callers will disappear into back-end
specific files anyway.
(vc-checkout-model): Renamed to vc-uses-locking.
Store yes/no in the property, and return t/nil.  Updated all
callers.
(vc-checkout-model): Punt to backends.
(vc-default-locking-user): New function.
(vc-locking-user, vc-workfile-version): Punt to backends.
(vc-rcsdiff-knows-brief, vc-rcs-lock-from-diff)
(vc-master-workfile-version): Moved from vc-hooks.
(vc-lock-file): Moved to vc-sccs-hooks and renamed.
(vc-handle-cvs, vc-cvs-parse-status, vc-cvs-status):
Moved to vc-cvs-hooks.
 Add doc strings in various places.  Simplify the
minor mode setup.
(vc-handled-backends): New user variable.
(vc-parse-buffer, vc-insert-file, vc-default-registered): Minor
simplification.
(vc-backend-hook-functions, vc-backend-functions):
New variable.
(vc-make-backend-function, vc-loadup, vc-call-backend)
(vc-backend-defines): New functions.
 Various doc fixes.
(vc-default-back-end, vc-follow-symlinks): Custom fix.
(vc-match-substring): Function removed.  Callers changed to use
match-string.
(vc-lock-file, vc-consult-rcs-headers, vc-kill-buffer-hook):
Simplify.
 vc-registered has been renamed
vc-default-registered.  Some functions have been moved to the
backend specific files.  they all support the
vc-BACKEND-registered functions.
 This is 1998-11-11T18:47:32Z!kwzh@gnu.org from the emacs sources
2000-09-04 19:47:25 +00:00
Gerd Moellmann
8321b22a93 (vc-parse-buffer): Handle mixtures of dates
before and after the year 2000.
2000-01-10 13:29:53 +00:00
André Spiegel
9fe89e7308 (vc-find-cvs-master): Set case-fold-search correctly. 1999-06-30 07:10:20 +00:00
Karl Heuer
ec44193a26 (vc-toggle-read-only): Doc fix. 1998-11-11 18:47:32 +00:00
Dave Love
b64ea3878b (vc-menu-map): Change the vc-directory label. Don't
use the menu-enable properties, pending doing it correctly and
acceptably fast.
1998-09-14 17:26:39 +00:00
Richard M. Stallman
5f42a1d493 (vc-file-not-found-hook): Call vc-file-clearprops. 1998-08-08 07:11:40 +00:00
André Spiegel
edad8a097f (vc-parse-cvs-status): Grok new form of conflict message. 1998-05-17 15:33:39 +00:00
Richard M. Stallman
b13a9b1b60 (vc-consult-rcs-headers): Fix previous change. 1998-05-07 21:34:54 +00:00
André Spiegel
0465c34f41 (vc-consult-rcs-headers): Avoid bug with ci -k in RCS 5.7. 1998-05-06 13:36:45 +00:00
André Spiegel
eaff65c86b (vc-parse-cvs-status): Optimized. Ignore "Locally Removed" files. 1998-05-02 16:41:44 +00:00
Dan Nicolaescu
cd32a7baa4 *** empty log message *** 1998-04-20 02:34:53 +00:00
André Spiegel
e27827ddcc (vc-prefix-map): Added "m" for vc-merge. 1998-04-05 18:44:35 +00:00
Richard M. Stallman
8aa81ea8c4 (vc-parse-cvs-status): New function.
(vc-fetch-master-properties): Moved cvs status retrieval to the above.
(vc-backend): If a file is not registered, remember that by setting
the property to `none'.
(vc-name): Use the mechanism of vc-backend to compute the value.
(vc-after-save): Don't access vc-backend property directly.
1998-04-04 05:21:44 +00:00
André Spiegel
809c22a297 (vc-sccs-project-dir, vc-search-sccs-project-dir): New functions.
(vc-master-templates): Add call to vc-search-sccs-project-dir.
1998-03-20 15:38:48 +00:00
André Spiegel
f4c7209704 Added version id. 1998-02-27 18:44:41 +00:00
Dave Love
b499b50bea (vc-ignore-vc-files): New variable.
(vc-file-hook, vc-file-not-found-hook): Use it.
1998-02-04 14:20:15 +00:00
Karl Heuer
50bec09179 Customized. 1997-12-04 05:56:22 +00:00
Karl Heuer
274c59c95c (vc-find-cvs-master): Added missing `throw' for
the case when TIMESTAMP is arbitrary text.
1997-09-30 07:33:35 +00:00
André Spiegel
9314395d3f (vc-menu-map): Replace entries for "Check In" and "Check Out" with
new entry "Check In/Out" (calling vc-next-action).
1997-08-03 12:48:31 +00:00
Richard M. Stallman
403d549cb7 (vc-checkout-model): For CVS, look at
permissions to see if a file is "watched".
1997-07-31 06:16:32 +00:00
André Spiegel
702220f3d8 (vc-find-cvs-master): Corrected parsing of CVS/Entries, according to CVS docs.
(vc-toggle-read-only): Also work in vc-dired buffers.
1997-07-18 16:06:22 +00:00
Richard M. Stallman
9bef02e187 (vc-menu-map): Add bindings for vc-retrieve-snapshot and vc-create-snapshot. 1997-06-23 02:19:40 +00:00
Richard M. Stallman
14aa11f4da (vc-annotate): Entry "Annotate" added to menu and
function `vc-annotate' to key-sequence `C-x v g'.
1997-06-06 05:33:13 +00:00
Richard M. Stallman
9f49ec7384 (vc-find-cvs-master): Accept ...+ in a normal entry. 1997-05-04 06:49:53 +00:00
Richard M. Stallman
c20369f06c (vc-master-templates): Doc fix. 1997-04-27 20:50:24 +00:00
Richard M. Stallman
70b760ed2d (vc-find-cvs-master): Handle a "New file!" entry.
(vc-fetch-master-properties): Match "New file!".
1997-04-22 01:04:48 +00:00
André Spiegel
28a25aa5ea Changed my e-mail address in the header. 1997-01-03 13:51:36 +00:00
André Spiegel
2a11c6f32f (vc-user-login-name): New function.
(vc-fetch-master-properties, vc-lock-from-permissions, vc-file-owner,
vc-fetch-properties, vc-after-save, vc-mode-line, vc-status):  Use
`vc-user-login-name' instead of `user-login-name'.
1996-12-26 12:06:13 +00:00
André Spiegel
1525b5169d (vc-file-owner): Always return user name, using the optional argument
of user-login-name.
(vc-locking-user, vc-status): Discard checks for numerical value of
vc-locking-user.
1996-10-17 20:34:46 +00:00
André Spiegel
a93de381c1 (vc-find-cvs-master): Fixed handling of "locally added" files. 1996-09-16 14:44:22 +00:00
André Spiegel
79bdae7a23 (vc-file-owner): If the file is owned by somebody else, return the UID
as a string, so that the rest of VC can use it like a username.
1996-09-08 11:53:34 +00:00
Richard M. Stallman
defccde391 Comment changes. 1996-06-26 18:01:42 +00:00
Richard M. Stallman
9becbeca26 (vc-mode-line): If user is root, verify file really has user-writable bit. 1996-06-18 16:52:09 +00:00
Richard M. Stallman
227d2bed63 (vc-find-file-hook): Follow multiple links all the way. 1996-05-09 19:45:49 +00:00
Richard M. Stallman
566f2169f2 (vc-follow-link, vc-find-file-hook):
Use file-chase-links instead of file-truename.
(vc-find-file-hook): Follow a link without asking
if the target is already visited.
1996-05-05 03:52:13 +00:00
Richard M. Stallman
9596811a3d Comment change. 1996-03-02 06:37:35 +00:00
Paul Eggert
d5c8e97af5 (vc-find-cvs-master): Don't require a "/" after the modification time
in CVS/Entries, since the time may be followed by a conflict notice
(in CVS 1.7) or by some other value (in CVS 1.3).
1996-02-26 00:53:13 +00:00
Richard M. Stallman
d822195158 (vc-follow-link): Kill buffer before creating new one. 1996-02-26 00:19:35 +00:00
Richard M. Stallman
e7f5ddc2c8 (vc-follow-link): Simplify by taking advantage
of Feb 21 change in find-file-noselect.
1996-02-26 00:17:43 +00:00
André Spiegel
a3a3984834 (vc-follow-link): New function.
(vc-find-file-hook): Use it.
1996-02-22 13:07:58 +00:00
Karl Heuer
738efc8e5c Move all the put's for menu-enable props to top level.
(vc-next-action, vc-toggle-read-only): Enable whenever vc-mode.
1996-02-21 21:20:57 +00:00
Karl Heuer
555722598b (vc-consult-rcs-headers): Ignore text properties. 1996-02-14 04:32:55 +00:00
Paul Eggert
c18381d187 (vc-utc-string): Remove; it wasn't reliable near DST or leap-second
transitions.
(vc-find-cvs-master): Convert UTC string to encoded time and compare
the results to the file attributes, rather than attempting to convert
file attributes to UTC string (which wasn't reliable).
1996-01-20 20:42:06 +00:00
Erik Naggum
b578f267af Update FSF's address. 1996-01-14 07:34:30 +00:00
André Spiegel
b806321282 (vc-follow-symlinks): New variable.
(vc-find-file-hook): Use it.
1996-01-10 15:27:49 +00:00
Karl Heuer
a7acbbe4d4 Comment fixes. 1996-01-05 22:21:28 +00:00
André Spiegel
9542081161 Better doc strings for a few variables. 1996-01-04 16:00:45 +00:00
Richard M. Stallman
10aa933d49 (vc-locking-user): In CVS case, convert user number to a string. 1995-11-16 22:04:24 +00:00
André Spiegel
318880476e (vc-utc-string): Use timezone of TIMEVAL for the correction, not the
current one.
(vc-rcsdiff-knows-brief): New variable.
(vc-rcs-lock-from-diff): Use it.
1995-11-02 09:35:04 +00:00
André Spiegel
719dcee97b (vc-fetch-master-properties): Call "cvs status" in the right
directory, passing only the nondirectory part of the file name.
(vc-find-cvs-master): Bind `mtime' locally instead of using it as a
free variable.
1995-09-14 07:23:43 +00:00
André Spiegel
aadce164da (vc-locking-user): Fixed wrong parentheses. 1995-09-08 20:38:53 +00:00
André Spiegel
b23a2306f7 (vc-utc-string): New function.
(vc-find-cvs-master): Use it to compare mtime and checkout time.
(vc-locking-user): CVS case: *only* use checkout time.
(vc-find-cvs-master): Don't attempt to find the RCS master file.
Throw the full name of CVS/Entries.
(vc-name): Doc change (special CVS case).
(vc-after-save): Handle the case when a file is saved in the very
second in which it was checked out.
1995-08-29 10:47:45 +00:00
André Spiegel
d270fe6e2d (vc-fetch-master-properties): Count cvs status "Needs Patch" as
`needs-checkout'.
(vc-after-save): Clear the cvs status.
1995-08-25 18:35:32 +00:00
André Spiegel
7064821ce7 (vc-simple-command): New function.
(vc-fetch-master-properties): CVS case: Use it.
(vc-lock-from-permissions, vc-file-owner, vc-rcs-lock-from-diff):
New functions.
(vc-locking-user): Largely rewritten.  Uses the above, handles RCS
non-strict locking.  Under CVS in CVSREAD-mode, learn the locking state
from the permissions.
(vc-find-cvs-master): Use vc-insert-file, rather than
find-file-noselect. Greatly speeds up things.
(vc-consult-rcs-headers): Bug fix, return status in all cases.
1995-08-22 17:52:42 +00:00
André Spiegel
e66eac08b5 (vc-fetch-master-properties): RCS case: get locking mode.
CVS case: new state `locally-added'.
(vc-locking-user): Under RCS with non-strict locking, don't trust
the file permissions.  CVS case: change which states count as
"locked".
(vc-consult-rcs-headers): Streamlined. Don't set vc-locking-user if
this is called under CVS.  Under RCS, use a heuristic to find the
value of vc-checkout-model without examining the master file.
(vc-parse-locks): Set vc-checkout-model.
(vc-status): Comment change.
(vc-after-save-hook, vc-after-save): The former renamed to the
latter. Now unconditionally called by `basic-save-buffer', determines
whether the buffer should be "locked" or not.
(vc-mode-line): No longer use dynamic after-save-hook. Changed
references to `automatic' into `implicit'.
(vc-checkout-model): Values are now `manual' and `implicit'.  Derive
the property on a per-file basis, supporting all possible modes.
1995-08-21 19:25:52 +00:00
André Spiegel
04446ed0c2 (vc-fetch-master-properties): Recognize cvs status "Unresolved Conflict".
(vc-locking-user): Count cvs status `unresolved-conflict' as "locked".
(vc-checkout-model): New property and access function (still simplistic).
(vc-after-save-hook): New function.
(vc-mode-line): When the file is locked by somebody else, make the
buffer read-only.  (Formerly this was only done for root.)  Don't
write-protect the buffer if the file is unlocked.  Instead, install
vc-after-save-hook, which "locks" the file when modifications are
saved.
1995-08-18 20:22:53 +00:00
André Spiegel
af5e65b996 (vc-top-version): Renamed to vc-master-workfile-version. Updated all
references.
1995-08-17 13:29:31 +00:00
Richard M. Stallman
45fc7cc3c5 (vc-mode-line, vc-find-file-hook): Moved the test for
version-controlled symbolic link from the former to the latter.
1995-07-18 20:55:46 +00:00
Karl Heuer
7b0e1b8f6c (vc-mode-line): Don't write-protect a
VC-Log buffer.  Better mode line text for initial comments.
Streamlined the function.
(vc-locking-user): Consider a cvs file "locked"
if its status is either 'locally-modified or 'needs-merge.
(vc-workfile-version): Catch 'found when calling vc-find-cvs-master.
(vc-fetch-master-properties): Handle cvs status "Needs Checkout".
This is intended for future use.
(vc-fetch-master-properties): Shrink the window
that displays the error message.
1995-07-17 22:56:28 +00:00
Richard M. Stallman
e11a39dfe9 (vc-fetch-master-properties): Better error
message in case the "cvs status" command fails.
1995-07-07 13:24:31 +00:00
Richard M. Stallman
ce27f2642e (vc-consult-rcs-headers): Use an even more
pedantic regexp to match RCS time strings.  Improved
efficiency by using looking-at instead of re-search "\\=...
1995-06-27 19:06:15 +00:00
Richard M. Stallman
58c59fd7af (vc-consult-rcs-headers): Handle the new time
string formats of RCS 5.7.
1995-06-26 20:51:15 +00:00
Richard M. Stallman
07de4c3d64 (vc-insert-file): Erase the current buffer before inserting the file.
(vc-fetch-master-properties, vc-fetch-properties): Don't erase the
buffer because that is now done in vc-insert-file.
(vc-fetch-properties): Kill the *vc-info* buffer when done.
1995-06-23 22:46:56 +00:00
Richard M. Stallman
0b086efb1f (vc-fetch-master-properties): Pass an absolute
pathname to the cvs status command. This is required to make
recursive vc-directory listings work.
1995-06-22 16:23:52 +00:00
Richard M. Stallman
ee526b5552 (vc-fetch-properties): Add save-excursion. 1995-06-20 02:56:43 +00:00
Richard M. Stallman
3be2a3627f (vc-fetch-master-properties): Be more careful
about killing the *vc-info* buffer.
1995-06-20 01:07:28 +00:00
Richard M. Stallman
0409429086 (vc-fetch-master-properties): Use path-separator
for path to "cvs status" command.
1995-06-18 13:42:43 +00:00
Richard M. Stallman
fceee0072d (vc-consult-rcs-headers): Fix typo in prev change. 1995-06-16 13:09:50 +00:00
Richard M. Stallman
1efcbf46bc (vc-fetch-master-properties): For RCS file,
don't look for vc-latest-version and vc-your-latest-version here.
Read only through ^locks unless we need to find the tip of a branch.
(vc-consult-rcs-headers): Use non-regexp search to find the headers.
(vc-latest-version, vc-your-latest-version): Use vc-fetch-properties.
(vc-fetch-properties): New function.
1995-06-16 01:04:27 +00:00
Richard M. Stallman
02d383ebf9 The RCS status is now found by reading the
master file directly, instead of using rlog.  The properties
retrieved from the master file are kept separately.  The two
main properties, `vc-workfile-version' and `vc-locking-user',
are inferred from those master file properties if the
information cannot be found elsehow.  All properties are
consistently cached now.

(vc-master-info, vc-log-info, vc-fetch-properties): functions
removed.  Their job is now done by `vc-fetch-master-properties'
and `vc-insert-file'.

(vc-fetch-master-properties):  new function, replaces
vc-fetch-properties.  Retrieves all the properties that can be
found in the master file, for all three backends (calls
`cvs status' in the CVS case).

(vc-insert-file):  new function.  Inserts an arbitrary file
into the current buffer, optionally chunkwise, until a certain
regexp shows up.

(vc-parse-locks):  new function.  Translates SCCS or RCS lock
lists, as found in the master files, into lisp lists.  Sets
the new property `vc-master-locks'.

(vc-locked-version):  property removed.  Was unnecessary, and
only referenced in vc-hooks.el.
(vc-head-version, vc-default-branch, vc-master-locks):
new properties.

(vc-top-version):  new name for the old property
`vc-branch-version'.  ("top-version" is better because it
might also be the RCS "head" if there is no default branch.)

(vc-master-locking-user):  replaces `vc-true-locking-user'.
Scans the new `vc-master-locks' property, yielding the master
file's idea of who is locking the current workfile version.

(vc-locking-user):  slightly changed to use the new properties.
Changed the actual property value for an unlocked file to
'none.  This is to distinguish it from an unknown locking
state, which is represented by nil.  The function vc-locking-user
returns nil if the property is 'none, to make it compatible with
the rest of VC.

(vc-consult-rcs-headers, vc-master-locking-user):  adpated to
the new 'none-value of vc-locking-user.

(vc-consult-rcs-headers): fixed bug that prevented
(not vc-consult-headers) from working

(vc-file-not-found-hook): set the default-directory of the new
buffer before check-out. (Otherwise, setting vc-keep-workfiles
to nil doesn't work.)

(vc-occurences, vc-branch-p): functions removed (no longer needed)

Reordered some defuns so they are grouped in a logical way.
1995-06-15 23:06:45 +00:00
Karl Heuer
76a8bf4c1f (vc-menu-map): Disable Register when no visited file. 1995-06-07 18:55:22 +00:00
Karl Heuer
b525816e48 (vc-log-info): Use path-separator. 1995-05-27 00:36:04 +00:00
Roland McGrath
38179d4288 (vc-status): If vc-locking-user returns a number, compare it to (user-uid). 1995-05-12 16:39:32 +00:00
Karl Heuer
e1c0c2d1bf (vc-default-backend, vc-path, vc-consult-headers):
(vc-mistrust-permissions, vc-keep-workfiles): Customization
variables, moved here from vc.el.
(vc-trunk-p, vc-minor-revision, vc-branch-part): Moved to vc.el.
(vc-backend): Renamed from vc-backend-deduce.  Callers changed.
(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 here from vc.el.
(vc-log-info): Log program is no longer called through vc-do-command,
to avoid including the lengthy vc-do-command here.  It is done
directly through call-process now.  Removed obsolete parameter LAST.
(vc-status): Replaced by the much simpler version that gets the
information from the file properties.  Removed the obsolete
parameter vc-type.
(vc-parse-buffer): changed format of PATTERNS.  Each pattern is now a
list of 2 to 3 elements, the first being the pattern, the remaining
ones the numbers of subexpressions to refer to.
(vc-cvs-status): New per-file property, only used in the CVS case.
(vc-cvs-status): New function.
(vc-log-info): Adapted to new version of vc-parse-buffer
(vc-fetch-properties): Adapted to new version of vc-parse-buffer.
Better search regexp for CVS latest version.
(vc-log-info): Search for branch version only in the RCS case,
since this doesn't make sense for SCCS or CVS.
(vc-fetch-properties): CVS case: set vc-cvs-status.
(vc-locking-user): CVS case: use vc-cvs-status to determine if
the file is up-to-date, thus avoiding an expensive call to
vc-workfile-unchanged-p.
(vc-mode-line): Re-activated the code that makes the buffer read-only
if the work file is unchanged.  But the status of the work file
is now determined by looking at the already-computed mode string.
1995-04-26 21:42:20 +00:00
Richard M. Stallman
f2ee419195 (vc-buffer-backend): New function.
Also new variable, local in all buffers.
(vc-kill-buffer-hook): Kill local vc-buffer-backend.

(vc-kill-buffer-hook): Don't put it on kill-buffer-hook.
(vc-file-clearprops): Function moved here.
(vc-workfile-version): Function moved here.
(vc-mode-line): Don't call vc-locking-user.

Add branch support for RCS;  treat CVS more like RCS and SCCS.
(vc-occurences, vc-trunk-p, vc-branch-p, vc-minor-revision)
(vc-branch-part): new functions that operate on RCS revision numbers.
(vc-status): Use the new property vc-workfile-version
and vc-locking-user (see vc.el).  Display "locking state" for CVS.
(vc-find-cvs-master): Search for file name case-sensitively, store
version number into the new property vc-workfile-version.
(vc-find-file-hook): kill any remaining properties.  Like this,
when re-finding a file (for example because it has changed on disk),
the version control state gets re-computed.
(vc-mode-line): CVS case: make the buffer read-only if the file
is unmodified.
(vc-kill-buffer-hook): Clear file's vc props when buffer is killed.
1995-04-26 10:15:03 +00:00
Richard M. Stallman
c844616ca6 (vc-toggle-read-only): Accept prefix arg
and pass it along to vc-next-action.
1994-12-15 16:38:05 +00:00
Roland McGrath
b662fbb8b8 Only define items in vc-menu-map if it is boundp. 1994-11-09 12:57:30 +00:00
Thien-Thi Nguyen
adc87157d8 Add maintainer line in header. 1994-11-07 08:29:06 +00:00
Richard M. Stallman
174edc1393 (vc-status): Handle CVS.
(vc-find-cvs-master): New function.
(vc-master-templates): Add vc-find-cvs-master.
(vc-registered): Allow vc-master-templates to contain atoms, and
call them with dirname and basename as arguments.

(vc-mode-line): Use equal, not string-equal, to
compare the result of vc-locking-user.
1994-10-03 21:56:50 +00:00
Richard M. Stallman
624c0e9d14 (vc-menu-map): Set up menu items.
(vc-status): Use vc-path when calling prs.

(vc-status): New arg vc-type.

(vc-file-not-found-hook): Use save-excursion.

(vc-status): Renamed from vc-rcs-status.  Handle SCCS.
(vc-display-status): Renamed from vc-rcs-status.
(vc-mode-line): Call vc-status for SCCS files too.
1994-09-22 02:48:14 +00:00
Richard M. Stallman
19021bfb36 (vc-mode-line): Do nothing if FILE is nil. 1994-05-19 21:58:38 +00:00
Richard M. Stallman
b993101e36 (vc-registered): Use find-file-name-handler. 1994-05-13 07:42:34 +00:00
Karl Heuer
8f1204db34 Update copyright. 1994-05-03 23:47:06 +00:00
Richard M. Stallman
1d88854875 (vc-mode-line): Fix previous change. 1994-04-29 06:25:49 +00:00
Richard M. Stallman
8d51c5cc39 (vc-mode-line): Warn if file is not vc-registered
but is a symlink to a vc-maintained file.
1994-04-24 10:00:51 +00:00
Richard M. Stallman
b5bcaf3ebb (vc-find-file-hook): Set backup-inhibited. 1994-03-27 19:46:27 +00:00
Richard M. Stallman
9228cfacd5 (vc-make-backup-files): Doc fix. 1994-02-04 23:01:27 +00:00
Eric S. Raymond
d4353b2055 (vc-mode-line): use force-mode-line-update instead of the Emacs 18
kluge.
1994-02-02 18:56:02 +00:00
Richard M. Stallman
4a7e63b938 (vc-mode-line): Make buffer read-only for root if file is locked. 1993-12-24 03:12:14 +00:00
Richard M. Stallman
5032bd2307 (vc-make-backup-files): Doc fix.
(vc-rcs-status): Use colon, not dash, in the string LOCKS.
1993-11-25 03:46:27 +00:00
Paul Eggert
c574acf031 (vc-prefix-map): Bind C-x v ~ to vc-version-other-window. 1993-09-15 23:19:13 +00:00
Paul Eggert
6379911ca3 (vc-find-file-hook, vc-file-not-found-hook): Use add-hook to install. 1993-08-27 01:57:48 +00:00
Paul Eggert
e6258b339a (vc-mode-line): Set vc-mode to nil if FILE no longer is version-controlled. 1993-07-29 04:58:47 +00:00
Paul Eggert
b6ff872167 (vc-rcs-status): Removing any trailing "-". 1993-07-27 19:28:46 +00:00
Paul Eggert
f5baea11cb (vc-rcs-status): Use "-", not " ", to separate locks, so that the RCS
minor mode doesn't contain internal spaces.
1993-07-20 02:25:19 +00:00
Paul Eggert
b0c901a35e (vc-rcs-status): Omit "LOCKER:" if you are the locker. 1993-07-19 04:03:52 +00:00
Richard M. Stallman
e4953cae72 (vc-rcs-status): Make work buffer's name start w/ space. 1993-07-15 05:49:21 +00:00
Paul Eggert
45c92c0c56 (vc-rcs-status): Include head version number in mode line if there
are no locks.
1993-07-12 22:04:35 +00:00
Paul Eggert
137fcf3148 (vc-rcs-status): Remove unused var `status'. 1993-07-07 19:07:54 +00:00
Paul Eggert
a03140c851 (vc-name): Moved from vc.el; vc-rcs-status now uses it.
(vc-name, vc-backend-deduce): Set both vc-name and vc-backend
properties, to avoid calling vc-registered unnecessarily when
the other property is needed.
(vc-rcs-status): Yield only status of locks; do not try to yield " REV"
if there are no locks, since this cannot be done easily if there are
branches.  Use vc-name instead of duplicating its function incorrectly.
Fix off-by-one bug when inserting master header pieces.  Read headers
8192 bytes at a time instead of 100.  Don't bother to expand-file-name.
(vc-rcs-glean-field): Removed.
1993-07-05 03:20:12 +00:00
Richard M. Stallman
b45d89b0ef (vc-mode-line): Put RCS' or SCCS' before version num. 1993-07-04 04:53:58 +00:00
Richard M. Stallman
198d5c0098 (vc-rcs-status): New variable.
(vc-mode-line): Display the lock status and head version.
(vc-rcs-status, vc-rcs-glean-field): New function.
1993-06-26 04:01:50 +00:00
Richard M. Stallman
3c9c43d957 (vc-find-file-hook): Check buffer-file-name is non-nil. 1993-06-03 20:29:41 +00:00
Richard M. Stallman
c43e436c21 (vc-mode-line): Don't alter key bindings.
(vc-toggle-read-only): Put on C-x C-q unconditionally.
(vc-mode): Add permanent-local property.
1993-05-01 15:00:34 +00:00
Eric S. Raymond
7bc2b98bd8 vc-mode: name change. 1993-04-08 16:35:57 +00:00
Eric S. Raymond
aae56ea7ca Add standard library headers. 1993-03-17 16:56:02 +00:00
Eric S. Raymond
d629242872 Increment version number to match vc.el's. 1993-03-17 14:01:56 +00:00
Paul Eggert
18c8a18eff Merge today's change by eric with everybody else's
change (from 1992/08/04 through 1993/02/24).
1993-03-16 20:21:05 +00:00
Eric S. Raymond
80169ab539 vc-error-occurred: moved to vc-hooks.el in order for ^X^F of a
nonexistent file to work.
1993-03-16 15:47:45 +00:00
Richard M. Stallman
b26c217c09 (vc-find-file-hook): Discard vc status of file
if we will actually have to create the buffer.
1993-02-24 18:07:12 +00:00
Richard M. Stallman
accd90bd67 (vc-prefix-map): Put vc-diff on = and vc-directory on d. 1992-10-24 20:07:08 +00:00
Richard M. Stallman
8a2816daa6 (vc-registered): Look for handler only if file-name-handler-alist is bound. 1992-10-20 18:43:33 +00:00
Richard M. Stallman
8b8568efad (vc-registered): Look for a vc-registered handler. 1992-10-20 06:44:21 +00:00
Roland McGrath
a61182970f (vc-toggle-read-only): Doc fix.
(vc-mode-line): Add interactive spec.
1992-09-27 00:45:57 +00:00
Jim Blandy
9f1ce56b63 entered into RCS 1992-08-04 07:21:29 +00:00
Eric S. Raymond
594722a807 Initial revision 1992-07-31 22:24:03 +00:00