Commit graph

308 commits

Author SHA1 Message Date
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
98cfec0d69 Backport VC improvements from trunk.
* vc/log-edit.el (log-edit-rewrite-fixes): New var.
(log-edit-author): New dynamic var.
(log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
Use it to return the author if different from committer.
(log-edit-insert-changelog): Use them to add Author: and Fixes headers.

* vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.

* vc/vc.el (vc-deduce-backend): New fun.  Handle diff buffers.
(vc-root-diff, vc-print-root-log, vc-log-incoming)
(vc-log-outgoing): Use it.
(vc-diff-internal): Set diff-vc-backend.

* vc/diff-mode.el (diff-vc-backend): New var.

* vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
buffer-locally to lambda that re-runs the vc diff command.
(Bug#6447)

* vc/log-view.el (log-view-mode-map): Bind revert-buffer.

Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and
log-outgoing commands.
* vc/vc.el (vc-log-internal-common): Add a new argument and use it
to create a buffer local revert-buffer-function variable.
(vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
revert-buffer-function lambda.

Improve VC create/retrieve tag/branch.
* vc.el (vc-create-tag): Do not read the directory name for VCs
with repository revision granularity.  Adjust the tag/branch
prompt.  Reset VC properties.
(vc-retrieve-tag): Do not read the directory name for VCs
with repository revision granularity.  Reset VC properties.

Add optional support for resetting VC properties.
* vc-dispatcher.el (vc-resynch-window): Add new optional argument,
call vc-file-clearprops when true.
(vc-resynch-buffer): Add new optional argument, pass it down.
(vc-resynch-buffers-in-directory): Likewise.

Improve support for special markup in the VC commit message.
* vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
* vc-hg.el (vc-hg-checkin): Add support for Date:.
* vc-git.el (vc-git-checkin):
* vc-bzr.el (vc-bzr-checkin): Likewise.

Add support for vc-log-incoming, improve vc-log-outgoing for Git.
* vc-git.el (vc-git-log-view-mode): Fix font lock for
incoming/outgoing logs.
(vc-git-log-outgoing, vc-git-log-incoming): New functions.

* vc-git.el (vc-git-log-outgoing): Use the same format as the
short log.
(vc-git-log-incoming): Likewise.  Run "git fetch" before the log
command

Add bindings for vc-log-incoming and vc-log-outgoing.
* vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
and vc-log-outgoing.
* vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
and vc-log-outgoing.

Improve state updating for VC tag commands.
* vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
to update the state of all buffers in the directory.

* vc-dir.el (vc-dir): Don't pop-up-windows.  (Bug#6204)

* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
(vc-transfer-file): Adjust to new vc-checkin.
(vc-next-action): Improve scoping.

* vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
(vc-git-commits-coding-system): Rename from git-commits-coding-system.

* vc-dispatcher.el (vc-log-edit): Shorten names for
log-edit-show-files.

* vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
(vc-bzr-conflicted-files): New function.

* log-edit.el (log-edit-summary, log-edit-header)
(log-edit-unknown-header): New faces.
(log-edit-headers-alist): New var.
(log-edit-header-contents-regexp): New const.
(log-edit-match-to-eoh): New function.
(log-edit-font-lock-keywords): Use them.
(log-edit): Insert a "Summary:" header as default.
(log-edit-mode): Mark font-lock rules as case-insensitive.
(log-edit-done): Cleanup headers.
(log-edit-extract-headers): New function to replace it.

* vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
the windows/frames.

* vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.

* vc-dir.el (vc-dir-kill-line): New command.
(vc-dir-mode-map): Bind it to C-k.
(vc-dir-headers): Abbreviate the working dir.

* vc-git.el (vc-git-revision-table): Include remote branches.

New VC methods: vc-log-incoming and vc-log-outgoing.
* vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
(vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
New functions.
(vc-print-log-internal): Just call vc-log-internal-common.
(vc-log-view-type): New permanent local variable.

* vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.

* vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.
(vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.

* vc-git.el (vc-git-log-outgoing): New function.
(vc-git-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.

* vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
the dynamic bound vc-short-log.  Highlight the tag.
(vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
(vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
(vc-hg-incoming-mode): Remove.
(vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.

Fix default-directory for vc-root-diff.
* vc.el (vc-root-diff): Bind default-directory to the root
directory for the diff command.

* vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
`vc-hg-command' with a list of flags.

* vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
log-edit-before-checkin-process.

* vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.

* vc-bzr.el, vc-hg.el (log-edit-mode): Declare.

* vc-dispatcher.el (vc-start-logentry): Doc fix.
(log-view-process-buffer, log-edit-extra-flags): Declare.

Add special markup processing for commit logs.
* log-edit.el (log-edit): Add new argument MODE.  Use that mode
when non-nil instead of the log-view-mode.

* vc.el (vc-default-log-edit-mode): New function.

* vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
log-edit.

Support for shelving snapshots and for showing shelves.
* vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
(vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
New functions.
(vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
(vc-bzr-extra-menu-map): Map them.
2010-10-31 23:13:42 -04:00
Stefan Monnier
8c6eab5a27 * lisp/vc-dispatcher.el: Rename mode-line-hook to vc-mode-line-hook;
declare it, make it buffer-local, and permanent-local.
(vc-resynch-window): Adjust name.
* lisp/vc-hooks.el (vc-find-file-hook): Adjust name.

Fixes: debbugs:6324
2010-06-08 21:12:53 -04:00
Stefan Monnier
1df9718f3a (vc-path): Make it an obsolete var, rather than function. 2010-02-02 22:55:03 -05:00
Dan Nicolaescu
368d3208cf (vc-path): Mark as obsolete. 2010-01-25 23:22:25 -08:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Dan Nicolaescu
04991a1c0d * net/eudc.el (eudc-tools-menu):
* international/mule-cmds.el (set-coding-system-map)
(mule-menu-keymap):
* emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
* vc-hooks.el (vc-menu-map): Use menu-bar-separator.
2009-11-11 06:06:43 +00:00
Dan Nicolaescu
0b7f397ca7 * progmodes/ld-script.el (auto-mode-alist):
* vc-hooks.el (vc-directory-exclusion-list): Purecopy strings.

* cus-face.el (custom-declare-face): Purecopy face spec.
2009-11-06 07:50:54 +00:00
Glenn Morris
d270305a65 Convert comment about autoload into autoload comment.
(vc-responsible-backend): Fix declaration.
2009-10-24 03:43:47 +00:00
Dan Nicolaescu
8f43cbf352 * puresize.h (BASE_PURESIZE): Increase to 1430000.
* term/tty-colors.el (msdos-color-values): Remove declaration, unused.
(color-name-rgb-alist, tty-standard-colors)
(tty-color-mode-alist): Change to defconst.

* simple.el (mark-inactive): Purecopy message.

* menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle): Fix macro.
(global-map, yank-menu):
* textmodes/ispell.el (ispell-menu-map):
* net/eudc.el (eudc-tools-menu):
* international/mule-cmds.el (describe-language-environment-map)
(setup-language-environment-map, set-coding-system-map)
(mule-menu-keymap):
* vc-hooks.el (vc-menu-entry, vc-menu-map):
* replace.el (occur-mode-map):
* pcvs-defs.el (cvs-global-menu): Purecopy names and tooltips.

* bindings.el (propertized-buffer-identification): Purecopy
tooltip text.
2009-10-23 05:15:26 +00:00
Stefan Monnier
dcbbecd42f * vc-hooks.el (vc-dir-buffers): New var.
(vc-state-refresh): New function.
(vc-state): Use it.
(vc-after-save): Always ask the backend to recompute the new state.
Always call vc-dir if necessary, using vc-dir-buffers.
* vc-dir.el (vc-dir-prepare-status-buffer, vc-dir-resynch-file):
Use vc-dir-buffers.
(vc-dir-mode): Use vc-dir-buffers rather than after-save-hook.
(vc-dir-prepare-status-buffer, vc-dir-update)
(vc-dir-resync-directory-files, vc-dir-resynch-file, vc-dir-mode):
Don't call expand-file-name on default-directory.
2009-09-29 13:07:50 +00:00
Juanma Barranquero
5a0c3f568d Fix typos.
* allout.el
* dired-aux.el
* dired-x.el
* epa-file.el
* ps-print.el
* shell.el
* vc-hooks.el
* vc-rcs.el
* vc-sccs.el
* vc.el
* view.el
* wdired.el
* emacs-lisp/authors.el
* net/dig.el
* net/socks.el
* net/zeroconf.el
* obsolete/vc-mcvs.el
* progmodes/gdb-mi.el
* progmodes/grep.el
* progmodes/idlw-help.el
* progmodes/idlw-shell.el
* progmodes/idlwave.el
* progmodes/inf-lisp.el
* textmodes/bibtex.el
* textmodes/ispell.el
* textmodes/reftex-toc.el
2009-09-24 01:37:14 +00:00
Dan Nicolaescu
32ba3abcc1 * vc.el (top): print-log method now takes an optional SHORTLOG
argument.  Add a new method: root.

* vc-hooks.el (vc-prefix-map, vc-menu-map): Add bindings for
vc-print-root-log and vc-print-root-diff.

* vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-print-log):
* vc-git.el (vc-git-print-log, vc-git-log-view-mode):
* vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode): Add support for
short logs.

* vc-cvs.el (vc-cvs-print-log):
* vc-mtn.el (vc-mtn-print-log):
* vc-rcs.el (vc-rcs-print-log):
* vc-sccs.el (vc-sccs-print-log):
* vc-svn.el (vc-svn-print-log): Add an optional argument shortlog
that is ignored for now.
2009-09-14 04:38:49 +00:00
Glenn Morris
6dc3311d25 Define risky-local-variable property here rather than in files.el. 2009-08-26 03:07:25 +00:00
Michael Albinus
ba2318b74b * vc-hooks.el (vc-user-login-name):
Let-bind `process-file-side-effects' with nil.
2009-08-25 09:02:59 +00:00
Dan Nicolaescu
3c3bf6ce8f Remove find-file-not-found-hook VC method. (Bug#2757)
* vc-hooks.el (vc-file-not-found-hook)
(vc-default-find-file-not-found-hook): Remove functions.
(find-file-not-found-functions): Do not add vc-file-not-found-hook.
* vc-rcs.el (vc-rcs-find-file-not-found-hook): Remove function.
* vc.el:
* vc-hg.el:
* vc-git.el: Do not mention find-file-not-found-hook VC method.
2009-06-26 23:53:55 +00:00
Dan Nicolaescu
77bf3f5452 * vc-hooks.el (vc-stay-local-p, vc-state, vc-working-revision):
Add an optional argument for the backend, use it instead of
calling vc-backend.
(vc-mode-line): Add an optional argument for the backend.  Pass
the backend to vc-state and vc-working-revision.  Move code for
special handling for vc-state being a buffer to ...

* vc-rcs.el (vc-rcs-find-file-hook):
* vc-sccs.el (vc-sccs-find-file-hook): ... here.  New functions.

* vc-svn.el (vc-svn-state, vc-svn-dir-status, vc-svn-checkout)
(vc-svn-print-log, vc-svn-diff): Pass 'SVN to vc-state,
vc-stay-local-p and vc-mode-line calls.

* vc-cvs.el (vc-cvs-state, vc-cvs-checkout, vc-cvs-print-log)
(vc-cvs-diff, vc-cvs-annotate-command)
(vc-cvs-make-version-backups-p, vc-cvs-stay-local-p)
(vc-cvs-dir-status): Pass 'CVS to vc-state, vc-stay-local-p and
vc-mode-line calls.

* vc.el (vc-deduce-fileset): Use vc-deduce-fileset instead of
direct comparison.
(vc-next-action, vc-transfer-file, vc-rename-file): Also pass the
backend when calling vc-mode-line.
(vc-register): Do not create a closure for calling the vc register
function, call it directly.
2009-06-23 06:35:40 +00:00
Dan Nicolaescu
32ca5ee4f7 (vc-name): Avoid calling vc-backend twice.
(vc-mode-line): Accept and use an optional argument for the
backend.
(vc-find-file-hook): Use when instead of if.  Avoid calling
vc-backend multiple times, pass down the value computed the first
time.
2009-04-01 15:42:09 +00:00
Nick Roberts
95541017c2 (vc-stay-local-p): Let vc-BACKEND-stay-local take
precedence even when it's value is t.
2009-01-30 08:35:50 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Chong Yidong
fe3e2715e2 Correctt speling. 2008-12-03 03:25:34 +00:00
Stefan Monnier
066b7259c2 (vc-follow-link): Complete last change. 2008-11-23 05:10:53 +00:00
Stefan Monnier
33f95a82e9 (vc-follow-link, vc-find-file-hook):
Use buffer-file-truename to handle symlinks in any part of the filename.
2008-11-22 05:23:42 +00:00
Glenn Morris
37af967deb (vc-find-root): Remove bogus alias. 2008-10-29 02:55:04 +00:00
Martin Rudalics
37e14a62f5 (vc-stay-local): Fix typo in choice. 2008-10-28 18:52:02 +00:00
Stefan Monnier
8cd56959b4 * files.el (locate-dominating-stop-dir-regexp): New var.
(locate-dominating-file): Change arg from a regexp to a file name.
Rewrite using the vc-find-root code to avoid directory-files which is
too slow.  Obey locate-dominating-stop-dir-regexp.
Don't pay attention to changes in owner.
(project-find-settings-file): Adjust call to locate-dominating-file.

* progmodes/flymake.el (flymake-find-buildfile):
Adjust call to locate-dominating-file.

* vc-hooks.el (vc-find-root): Use locate-dominating-file.
(vc-ignore-dir-regexp): Use locate-dominating-stop-dir-regexp.
2008-10-25 15:18:53 +00:00
Dan Nicolaescu
5870cb7682 * vc-hooks.el (vc-stay-local): Add a new choice and default to it.
* vc-cvs.el (vc-cvs-dir-stay-local): Remove.
(vc-cvs-stay-local): Add a new choice and default to it.
(vc-cvs-dir-status): Use the new vc-stay-local choice.

* vc-svn.el (vc-svn-dir-status): Use the new vc-stay-local choice.
2008-10-13 01:16:49 +00:00
Michael Albinus
f98c9a2379 * vc-hooks.el (vc-file-clearprops): Revert change from 2008-09-29.
(vc-file-not-found-hook): Check, that `buffer-file-name' is
non-nil.  It is not clear, whether this is only fixing symptoms on
an error. OTOH, in all other cases, the call of `vc-file-clearprops'
is embedded by that check.  So it might be TRT.  Suggested by Dan
Nicolaescu <dann@ics.uci.edu>.
2008-09-30 19:11:07 +00:00
Michael Albinus
613658d4b2 * vc-hooks.el (vc-file-clearprops): Check, that FILE is a string. 2008-09-29 18:58:08 +00:00
Stefan Monnier
3dd2acc9d3 * vc-svn.el (vc-svn-root):
* vc-sccs.el (vc-sccs-root):
* vc-rcs.el (vc-rcs-root):
* vc-cvs.el (vc-cvs-root): Delete.
* vc-hooks.el (vc-find-root): Remove `invert' argument.
2008-09-07 20:24:24 +00:00
Glenn Morris
5495ef4e97 (vc-previous-version): Move alias to vc.el. 2008-09-01 21:45:32 +00:00
Chong Yidong
70c8a3903f (vc-workfile-unchanged-p): Revert last change. 2008-08-28 17:48:15 +00:00
Chong Yidong
5d3351276e (vc-workfile-unchanged-p): If the checkout time is not the same as the
last modification time, fall back on the backend-specific check.
2008-08-27 20:39:33 +00:00
Dan Nicolaescu
ea5ebb5907 Remove obsolete comment. 2008-07-22 02:51:59 +00:00
Dan Nicolaescu
74d0991fc5 * vc.el:
* vc-hooks.el:
* vc-dispatcher.el: Move vc-dir variables and functions ...
* vc-dir.el: ... here.  New file.
* Makefile.in (ELCFILES): Add vc-dir.elc.
2008-06-22 19:04:22 +00:00
Dan Nicolaescu
e02d8ae787 * vc-dispatcher.el (vc-directory-resynch-file): Rename to ...
(vc-dir-resynch-file): ... this.  Update callers.
Use vc-string-prefix-p.  Ignore directory args.
(vc-string-prefix-p): CSE.
(vc-resynch-buffer): Restore conditional.

* vc-hooks.el (vc-after-save): Improve test.
(vc-mode-line): Fix indentation.
2008-05-27 05:36:03 +00:00
Eric S. Raymond
370fded4f6 Snapshot primitives globally renamed to refer to tags, documentation updated. 2008-05-15 17:38:50 +00:00
Glenn Morris
7264c6b802 (vc-directory-resynch-file): Fix declaration. 2008-05-15 03:32:23 +00:00
Eric S. Raymond
a970a27e03 Remove dead code. 2008-05-11 18:15:59 +00:00
Dan Nicolaescu
0108dbd656 (vc-prefix-map): Remove duplicate binding. 2008-05-10 03:55:00 +00:00
Eric S. Raymond
79ac8f50ea VC directory bindings are noew documented. 2008-05-09 20:07:01 +00:00
Stefan Monnier
a749e19d07 * vc.el (vc-mark-resolved): Add `backend' argument.
(vc-next-action): Pass it the backend.
(vc-next-action, vc-checkout, vc-mark-resolved, vc-version-diff)
(vc-merge, vc-rollback, vc-update, vc-transfer-file, vc-delete-file)
(vc-default-comment-history, vc-default-create-snapshot)
(vc-default-retrieve-snapshot, vc-default-revert, vc-annotate)
(vc-annotate-revision-previous-to-line)
(vc-annotate-show-diff-revision-at-line, vc-annotate-warp-revision):
* vc-svn.el (vc-svn-checkout):
* vc-mcvs.el (vc-mcvs-checkout):
* vc-hooks.el (vc-state, vc-default-workfile-unchanged-p)
(vc-working-revision, vc-before-save, vc-mode-line):
Prefer vc-call-backend to vc-call so as not to recompute the backend.
2008-05-09 16:41:26 +00:00
Glenn Morris
7d56ad0dd1 Fix comment typo in previous. 2008-05-08 05:40:55 +00:00
Eric S. Raymond
db86064f73 Meta-CVS support removed. 2008-05-07 22:11:08 +00:00
Eric S. Raymond
4903369afe Remove VC-Dired and backend dir-state methods. 2008-05-07 21:27:41 +00:00
Eric S. Raymond
e6244c1bcd Cleanup preparatory to getting rid of dired. 2008-05-06 23:56:49 +00:00
Eric S. Raymond
c8d4f1a0a6 More decoupling of vc-dispatcher.el from vc.el. 2008-05-06 16:00:54 +00:00
Glenn Morris
eb3fa2cfcf Switch to recommended form of GPLv3 permissions notice. 2008-05-06 08:06:51 +00:00
Eric S. Raymond
70e2f6c752 Clean up vc*-revision-granularity and vc*-checkout-model. 2008-05-02 17:47:25 +00:00
Juanma Barranquero
d4e772c4c2 (vc-call, vc-state): Fix typos in docstrings.
(vc-default-state-heuristic): Doc fix.
2008-05-02 09:19:29 +00:00