1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-14 18:10:32 -08:00
Commit graph

257 commits

Author SHA1 Message Date
Eric S. Raymond
b7fd432d56 Remove could-register from the set of public VC backend methods,
* vc/vc.el and all backends: API simplification; could-register
is no longer a public method.  (vc-cvs.el still has a private
implementation.)
2014-12-01 18:54:28 -05:00
Eric S. Raymond
ed6ce56e23 Terminate vc-disable-async-diff with extreme prejudice.
* vc/vc.el, and all backends: API cleanup; the backend diff method
takes an explicit async flag.  This eliminates a particularly ugly
global.
2014-12-01 17:56:41 -05:00
Stefan Monnier
b34578dd88 * lisp/vc: Fix use of find-conflicted-file in Git.
* lisp/vc/vc.el (vc-find-conflicted-file): Look for conflicted files in the
current "project" rather than just the current directory.
* lisp/vc/vc-git.el (vc-git-conflicted-files): Clarify in which directory
the file names make sense.
2014-12-01 13:16:54 -05:00
Eric S. Raymond
d17bae9039 Refactor VC merging to fix a layer violation.
* vc/vc.el, vc/vc-cvs.el, vc/vc-rcs.el, vc/vc-svn.el: The 'merge'
backend method of RCS/CVS/SVN is now 'merge-file', to contrast with
'merge-branch'. Prompting for merge revisions is pushed down to the
back ends; this fixes a layering violation that caused bad behavior
with SVN.
2014-12-01 11:43:10 -05:00
Eric S. Raymond
cb8ed25555 Small but crucial change for new VC registration API. 2014-12-01 10:59:05 -05:00
Eric S. Raymond
4893831f69 Update some documentation changes and todo items. 2014-12-01 10:57:09 -05:00
Eric S. Raymond
185320a5fe Finish vc-stay-local containment.
* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-stay-local-p and repository-hostname are no longer public
methods. Only the CVS and SVN backends used these, and the SVN
support was conditioned out because svn status -v is too slow.
The CVS back end retaiin this machibery and the vc-stay-local
configuration variable now only affects it.
2014-12-01 10:47:27 -05:00
Eric S. Raymond
2a81c5d94d Confine vc-stay-local to CVS, because it was unusable in SVN. 2014-12-01 10:11:42 -05:00
Eric S. Raymond
578d91ac50 Remove vc-state-heuristic from the set of public methods.
* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-state-heuristic is no longer a public method, having been removed
where it is redundant, unnecessary, or known buggy. This eliminated
all backends except CVS.  Eliminates bug#7850.
2014-12-01 09:41:54 -05:00
Eric S. Raymond
33b4235db6 The vc-mistrust-permissions configuration variable is gone.
* vc/vc-cvs.el, vc/vc-hooks.el, vc/vc-rcs.el, vc/vc-sccs.el: Eliminate
vc-mistrust-permissions.  It was only relevant to the RCS and SCCS
back ends and defaulted to t. Code now always mistrusts permissions -
by actual measurement the effect on performance is negligible. As a
side effect bug#11490 is now irrelevant.
2014-12-01 09:08:26 -05:00
Eric S. Raymond
f82f3f1f17 API simplification: remove vc-workfile-unchanged-p from pubic methods.
* vc/vc.el, vc-hooks.el, and all backends: API simplification;
vc-workfile-unchanged-p is no longer a public method (but the RCS and
SCCS back ends retain it as a private method used in state
computation). This method was redundant with vc-state and usually
implemented as a trivial call to same. Fixes the failure mode
described in bug#694.
2014-12-01 08:24:27 -05:00
Eric S. Raymond
2f4f920079 VC API simplification: remove ability to set initial revision.
This hasn't made any sense since RCS, and was a dumb stunt then.

* vc/vc.el and all backends: API simplification; init-revision is
gone, and vc-registered functions no longer take an initial-revision
argument.
2014-12-01 06:23:10 -05:00
Paul Eggert
0cce3623b1 Merge branch 'emacs-24'. 2014-11-28 23:07:16 -08:00
Eric S. Raymond
354a07b570 Isolating support code for the file-granularity back ends: the easy part.
* vc-filewise.el: New file to isolate code used only by the
file-oriented back ends (SCCS/RCS/CVS/SRC) which should not live in
vc.el and certainly not in vc-hooks.el.
2014-11-22 00:31:20 -05:00
Eli Zaretskii
a131037e97 Fix bug #19084 with 'C-x v +' in *vc-change-log* buffers.
lisp/vc/vc.el (vc-deduce-fileset): Support invocation from
 *vc-change-log* buffer.
2014-11-21 12:14:32 +02:00
Ulrich Mueller
a2c0a14c32 Fix bug #19136 with a typo in a vc.el comment.
lisp/vc/vc.el: Fix a typo in the commentary.
2014-11-21 11:21:50 +02:00
Eric S. Raymond
1e81f67690 Support for SRC in VC mode. 2014-11-20 17:57:22 -05:00
Eric S. Raymond
e7e9dbccb0 Remove editable argument from VC's backend checkout methods.
Alters vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el, vc/vc-git.el,
vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el,
vc/vc-svn.el, vc/vc.el.

where this matters (which is only in SCCS and RCS) files are now always
checked out editable. This may actually have been dynamically true
already - it looks like the vc-next-action code evolved past visiting
the other case. Tested with RCS.
2014-11-20 03:52:24 -05:00
Eric S. Raymond
f83109f0fa Remove never-used rev argument from VC's backend checkin methods.
Alters vc/vc-arch.el, vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el,
vc/vc-git.el, vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el,
vc/vc-sccs.el, vc/vc-svn.el, vc/vc.el.

Only the RCS, SCCS, and CVS back ends tried to do anything with it,
and that code was never exercised. Chiseling away the cruft of
decades...
2014-11-20 02:37:06 -05:00
Eli Zaretskii
2fa082c003 Fix VC documentation related to switching branches.
lisp/vc/vc.el (vc-retrieve-tag): Doc fix.

 doc/emacs/maintaining.texi (Switching Branches): Mention "C-x v r".
 Correct commands for switching branches in various VCSs.
2014-11-19 20:35:17 +02:00
Eli Zaretskii
e9917c08dc Fix bug #19101 with log-view-mode set in the wrong buffer.
lisp/vc/vc.el (vc-log-internal-common): Turn on log-view-mode in the
 correct buffer.  (Bug#19101)
2014-11-19 18:11:05 +02:00
Stefan Monnier
8b86268b69 * lisp/vc/vc.el (vc-region-history): New command.
(vc-print-log-internal): Use cl-some.
* lisp/vc/vc-git.el (vc-git-region-history): New function.
(vc-git-region-history-mode-map)
(vc-git--log-view-long-font-lock-keywords)
(vc-git-region-history-font-lock-keywords): New vars.
(vc-git-region-history-font-lock): New function.
(vc-git-region-history-mode): New major mode.
2014-11-05 14:59:31 -05:00
Glenn Morris
ddce73d32f Revert previous accidental commit 2014-11-04 21:08:12 -08:00
Glenn Morris
6a278b64f7 Merge from emacs-24; up to 117669 2014-11-04 21:04:30 -08:00
Daniel Colascione
e8a77f2423 Provide function for asking vc about project root 2014-04-20 16:24:04 -07:00
Juanma Barranquero
835af71957 lisp/vc/vc.el (vc-rollback): Use set-buffer-modified-p. 2014-03-23 19:13:35 +01:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Xue Fuqiao
3bc1e1880f Some fixes for vc-ignore (Bug#15754).
Inspired by Andreas Politz and Dmitry Gutov.
2013-12-26 06:24:37 +08:00
Eli Zaretskii
0e2c793ffe Fix ugly ^M characters in Diff output shown by "C-x v u".
lisp/vc/vc.el (vc-diff-internal): Use *-dos coding-system when
 reading output from Diff on MS-Windows and MS-DOS.
2013-11-26 21:17:55 +02:00
Glenn Morris
75f777b647 * lisp/vc/vc.el (vc-diff-knows-L): Remove; unused since 2007-10-10. 2013-11-13 15:06:37 -05:00
Glenn Morris
f5bf77dfae * lisp/vc/vc.el (vc-print-log): Don't use a working revision unless
one was explicitly specified.

Fixes: debbugs:15322
2013-10-24 19:33:42 -07:00
Dmitry Gutov
8297b2cfdd * lisp/vc/vc.el (vc-print-root-log): Always set `default-directory'
value, whether we could auto-deduce `backend', or not.
2013-10-24 05:27:29 +04:00
João Távora
db1386987b * vc/vc.el (vc-diff-build-argument-list-internal): If the file is
not locked, use last revision and current source as
defaults.  (Bug#15569)
2013-10-10 10:59:09 -04:00
Xue Fuqiao
34ca0f4c79 New functions for finding the administrative directory in VC.
* vc/vc-svn.el (vc-svn-find-admin-dir):
* vc/vc-rcs.el (vc-rcs-find-admin-dir):
* vc/vc-mtn.el (vc-mtn-find-admin-dir):
* vc/vc-cvs.el (vc-cvs-find-admin-dir):
* vc/vc-arch.el (vc-arch-find-admin-dir): New functions.
2013-10-05 07:47:00 +08:00
Xue Fuqiao
d052d3bdf3 Add keybinding for vc-log-incoming in vc-dir.
* doc/emacs/maintaining.texi (VC Directory Commands): Add keybinding for
vc-log-incoming in vc-dir.
* lisp/vc/vc-dir.el (vc-dir-mode-map): Add keybinding for vc-log-incoming.
2013-09-21 16:16:13 +08:00
Glenn Morris
40e64f0cbd * lisp/vc/vc.el (vc-deduce-fileset): Doc fix. 2013-09-11 23:10:12 -07:00
Stefan Monnier
9c750ebae6 * lisp/vc/vc-dispatcher.el (vc-run-delayed): New macro.
(vc-do-command, vc-set-async-update):
* lisp/vc/vc-mtn.el (vc-mtn-dir-status):
* lisp/vc/vc-hg.el (vc-hg-dir-status, vc-hg-dir-status-files)
(vc-hg-pull, vc-hg-merge-branch):
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage, vc-git-pull)
(vc-git-merge-branch):
* lisp/vc/vc-cvs.el (vc-cvs-print-log, vc-cvs-dir-status)
(vc-cvs-dir-status-files):
* lisp/vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch, vc-bzr-dir-status)
(vc-bzr-dir-status-files):
* lisp/vc/vc-arch.el (vc-arch-dir-status): Use vc-run-delayed.
* lisp/vc/vc-annotate.el: Use lexical-binding.
(vc-annotate-display-select, vc-annotate): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
(vc-annotate): Don't use `goto-line'.
* lisp/vc/vc.el (vc-diff-internal): Prefer a closure to `(lambda...).
(vc-diff-internal, vc-log-internal-common): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
* lisp/vc/vc-svn.el: Use lexical-binding.
(vc-svn-dir-status, vc-svn-dir-status-files): Use vc-run-delayed.
* lisp/vc/vc-sccs.el:
* lisp/vc/vc-rcs.el: Use lexical-binding.
2013-09-04 17:09:42 -04:00
Xue Fuqiao
adf2fc4a01 Merge from mainline. 2013-09-04 08:39:34 +08:00
Xue Fuqiao
63191d9f20 Some fixes for vc-ignore.
* lisp/vc/vc.el (vc-ignore): Rewrite.
(vc-default-ignore): New function.
(vc-default-ignore-completion-table): Use find-ignore-file.

* lisp/vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table):
* lisp/vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table):
* lisp/vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table):
Remove.  Most code moved to vc.el.

* doc/emacs/maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument.
2013-09-04 08:31:13 +08:00
Juanma Barranquero
8951efefa1 lisp/vc/vc.el: Silence byte-compiler warning. 2013-08-06 11:38:41 +02:00
Xue Fuqiao
ab419665ca Cleanup for vc-ignore.
* vc/vc.el (vc-ignore): Rewrite.
(vc-default-ignore-completion-table):
(vc--read-lines):
(vc--add-line, vc--remove-regexp): New functions.

* vc/vc-svn.el (vc-svn-ignore): Doc fix.
(vc-svn-ignore-completion-table): New function.

* vc/vc-hg.el (vc-hg-ignore): Rewrite.
(vc-hg-ignore-completion-table):
(vc-hg-find-ignore-file): New functions.

* vc/vc-git.el (vc-git-ignore): Rewrite.
(vc-git-ignore-completion-table):
(vc-git-find-ignore-file): New functions.

* vc/vc-dir.el (vc-dir-menu-map): Add menu for vc-dir-ignore.

* vc/vc-bzr.el (vc-bzr-ignore): Rewrite.
(vc-bzr-ignore-completion-table):
(vc-bzr-find-ignore-file): New functions.
2013-08-04 10:55:45 +08:00
Xue Fuqiao
7aa7fff0c8 Add vc-ignore.
* lisp/vc/vc.el (vc-ignore): New function.

* lisp/vc/vc-svn.el (vc-svn-ignore): New function.

* lisp/vc/vc-hg.el (vc-hg-ignore): New function.

* lisp/vc/vc-git.el (vc-git-ignore): New function.

* lisp/vc/vc-dir.el (vc-dir-mode-map): Add key binding for vc-dir-ignore
(vc-dir-ignore): New function.

* lisp/vc/vc-cvs.el (vc-cvs-ignore): New function.
(cvs-append-to-ignore): Moved from pcvs.el.

* lisp/vc/vc-bzr.el (vc-bzr-ignore): New function.

* lisp/vc/pcvs.el (vc-cvs): Require 'vc-cvs.
2013-07-30 08:25:31 +08:00
Stefan Monnier
931a2762fd * lisp/vc/vc.el (vc-deduce-fileset): Change error message.
(vc-read-backend): New function.
(vc-next-action): Use it.
2013-06-11 18:14:30 -04:00
Glenn Morris
bb7cdf58f6 Doc fixes related to vc-print-log
* vc/vc-bzr.el (vc-bzr-print-log):
* vc/vc-cvs.el (vc-cvs-print-log):
* vc/vc-git.el (vc-git-print-log):
* vc/vc-hg.el (vc-hg-print-log):
* vc/vc-mtn.el (vc-mtn-print-log):
* vc/vc-rcs.el (vc-rcs-print-log):
* vc/vc-sccs.el (vc-sccs-print-log):
* vc/vc-svn.el (vc-svn-print-log):
* vc/vc.el (vc-print-log-internal): Doc fixes.
2013-04-24 00:52:00 -07:00
Glenn Morris
1b42ee4390 vc.el doc fixes
* lisp/vc/vc.el (vc-print-log-setup-buttons, vc-print-log-internal):
Add doc strings.
(vc-print-log): Clarify interactive prompt.
2013-04-20 17:37:54 -07:00
Thierry Volpiatto
50fdf39987 * lisp/vc/vc.el (vc-next-action): Fix inf-loop.
(vc-update-change-log): Use dolist.

Fixes: debbugs:13610
2013-02-04 16:23:15 -05:00
Chong Yidong
58ba7b1b55 Try to handle buffer/file modifications which conflict with VCS locking.
* vc/vc-hooks.el (vc-after-save): DTRT for locking VCSes.

* vc/vc.el (vc-next-action): Detect buffer modifications
conflicting with locking VCS operation.

Fixes: debbugs:11490
2013-01-06 10:58:57 +08:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Dmitry Gutov
db47d5e975 * lisp/vc/vc.el (vc-delete-file, vc-rename-file): Default to the
current buffer's file name when called interactively.

Fixes: debbugs:12488
2012-12-03 01:12:31 +04:00