Commit graph

96 commits

Author SHA1 Message Date
Glenn Morris
d5152a7eef Address some compilation warnings.
* lisp/elec-pair.el (electric-pair-post-self-insert-function):
* lisp/vc/vc-git.el (vc-git-file-type-as-string):
Replace 't' with '_' in pcase.
2015-06-16 20:28:48 -04:00
Dmitry Gutov
69d24b40d2 Improve handling of the first Git revision
* lisp/vc/log-view.el (log-view-toggle-entry-display): When
there's no next entry, delete until the end of the buffer.
(log-view-end-of-defun-1): Stop at eob.

* lisp/vc/vc-annotate.el
(vc-annotate-show-diff-revision-at-line-internal): Don't give up
when previous-revision is nil.

* lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
with `--' to avoid ambiguity.
(vc-git-annotate-extract-revision-at-line): Exclude `^' from the
returned revision string.
(vc-git-annotate-time): Expect `^' before the first revision.

* lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
REV1 is nil, and REV2 is not.

* lisp/vc/vc.el: Update the description of the `diff' function.
2015-05-18 15:50:57 +03:00
Dmitry Gutov
576fba5f58 Display shorter dates in Git annotate output
* lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
format (when not overridden with vc-git-annotate-switches).
(vc-git-annotate-time): Support the short format, as well as ISO
8601 that has been used until now (bug#5428).
2015-05-17 02:47:17 +03:00
Dmitry Gutov
becc0129ca Use unless' to have one fewer not'
* lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
have one fewer `not'.
2015-05-16 17:12:36 +03:00
Dmitry Gutov
30151ee56b Remove redundant :group declarations from vc-git.el
* lisp/vc/vc-git.el (vc-git-diff-switches)
(vc-git-annotate-switches, vc-git-resolve-conflicts)
(vc-git-program, vc-git-root-log-format): Remove the redundant
:group declarations.
2015-05-16 17:12:36 +03:00
Dmitry Gutov
4565115447 Add new option vc-git-resolve-conflicts
* lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
(vc-git-find-file-hook): Add to after-save-hook only when the
above is non-nil.
(vc-git-resolve-when-done): Update to honor the new variable.
(Bug#20292)
2015-05-16 16:14:01 +03:00
Glenn Morris
660c30cc8c Add basic VC push support.
* lisp/vc/vc.el (vc-push): New autoloaded command.
* lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
* lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
(vc-bzr-pull): Reimplement using vc-bzr--pushpull.
(vc-bzr-push): New.
* lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
(vc-git-pull): Reimplement using vc-git--pushpull.
(vc-git-push): New.
* lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
(vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
* doc/emacs/maintaining.texi (Pulling / Pushing):
Rename from "VC Pull".  Mention pushing.
(VC With A Merging VCS, VC Change Log): Update xrefs.
(Branches): Update menu.
* doc/emacs/emacs.texi: Update menu.
* etc/NEWS: Mention this.
2015-05-12 20:42:42 -04:00
Glenn Morris
ce7ff436ff Function declaration updates prompted by 'make check-declare'
* lisp/emacs-lisp/package.el (lm-homepage):
* lisp/gnus/gnus-util.el (iswitchb-read-buffer):
* lisp/gnus/mm-decode.el (libxml-parse-html-region):
* lisp/gnus/mml.el (libxml-parse-html-region):
* lisp/gnus/nnrss.el (libxml-parse-html-region):
* lisp/net/eww.el (libxml-parse-html-region):
* lisp/net/shr.el (libxml-parse-html-region):
* lisp/vc/vc-bzr.el (vc-annotate-convert-time):
* lisp/vc/vc-cvs.el (vc-annotate-convert-time):
* lisp/vc/vc-git.el (vc-annotate-convert-time):
* lisp/vc/vc-hg.el (vc-annotate-convert-time):
* lisp/vc/vc-mtn.el (vc-annotate-convert-time):
* lisp/vc/vc-rcs.el (vc-annotate-convert-time):
Update declaration.
2015-04-30 20:06:15 -04:00
Dmitry Gutov
dbd65c779a Add or reset based on the presence of MERGE_HEAD
* lisp/vc/vc-git.el (vc-git-find-file-hook): Add
`vc-git-resolve-when-done' to `after-save-hook' in either case.
(vc-git-conflicted-files): Add a TODO.
(vc-git-resolve-when-done): Depending on the presence of
MERGE_HEAD, either update the resolved file in the index, or
remove it from there.  (Bug#20292)
2015-04-22 04:59:48 +03:00
Dmitry Gutov
b5b0e0500e Call `smerge-start-session' even when dealing with a stash conflict
* lisp/vc/vc-git.el (vc-git-find-file-hook):
Call `smerge-start-session' even when dealing with a stash
conflict (bug#20292).
2015-04-19 22:24:39 +03:00
Dmitry Gutov
d35f2f4822 Abort when looking at stashed changes
* lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
stashed changes (bug#20292).
2015-04-19 19:28:17 +03:00
Oscar Fuentes
b5a0603eb4 Use vc-switches on vc-*-annotate-command
This also removes switch "-C -C" from vc-git-annotate-command.

Fixes: debbugs:17945

* vc/vc.el (vc-annotate-switches): New defcustom.
* vc/vc-bzr.el (vc-bzr-annotate-switches): New defcustom.
(vc-bzr-annotate-command): Use it.
* vc/vc-cvs.el (vc-cvs-annotate-switches): New defcustom.
(vc-cvs-annotate-command): Use it.
* vc/vc-git.el (vc-git-annotate-switches): New defcustom.
(vc-git-annotate-command): Use it.
* vc/vc-hg.el (vc-hg-annotate-switches): New defcustom.
(vc-hg-annotate-command): Use it.
* vc/vc-mtn.el (vc-mtn-annotate-switches): New defcustom.
(vc-mtn-annotate-command): Use it.
* vc/vc-svn.el (vc-svn-annotate-switches): New defcustom.
(vc-svn-annotate-command): Use it.
2015-02-26 15:50:41 +01:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Fabián Ezequiel Gallina
3a12f2ed99 Merge from origin/emacs-24
2616307 * net/tramp-sh.el (tramp-send-command-and-read): New optional arg MARKER. (tramp-get-remote-path): Use it.
c773edc * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in wrong debug buffer. (tramp-gw-open-connection): Set process coding system 'binary. (tramp-gw-open-network-stream): Handle HTTP error 403.
8032fc1 * .gitignore: Ignore /conftest*.
fb420e7 * lisp/subr.el (sit-for): Tweak docstring.
061db13 Fix vc-git-dir-status-files WRT up-to-date vs edited
bb57c94 Consider electric-pair-mode in tex-mode.
7b94572 * test/automated/flymake/warnpred/test.pl: Tweak earlier change.
59c218f ChangeLog fix
db2a768 * test/automated/flymake/warnpred/test.pl: Tweak format
d9005dd src/gnutls.c (gnutls_init): Fix deprecation warning from GCC.

Conflicts:
	ChangeLog
	lisp/ChangeLog
	src/ChangeLog
	test/ChangeLog
2014-12-27 13:15:55 -03:00
Dmitry Gutov
061db13989 Fix vc-git-dir-status-files WRT up-to-date vs edited
Fixes: debbugs:19386

* lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
stage to after `diff-index'.
2014-12-15 16:18:34 +02:00
Dmitry Gutov
01b97f9df2 Move VC diff ASYNC argument to the fifth position
* lisp/vc/vc-svn.el (vc-svn-diff):
* lisp/vc/vc-src.el (vc-src-diff):
* lisp/vc/vc-sccs.el (vc-sccs-diff):
* lisp/vc/vc-rcs.el (vc-rcs-diff):
* lisp/vc/vc-mtn.el (vc-mtn-diff):
* lisp/vc/vc-hg.el (vc-hg-diff):
* lisp/vc/vc-git.el (vc-git-diff):
* lisp/vc/vc-dav.el (vc-dav-diff):
* lisp/vc/vc-cvs.el (vc-cvs-diff):
* lisp/vc/vc-bzr.el (vc-bzr-diff):
* lisp/obsolete/vc-arch.el (vc-arch-diff): Move ASYNC argument to the end.

* lisp/vc/vc.el (vc-diff-internal): Pass `async' argument to the
backend `diff' command in the last position.
2014-12-14 12:49:08 +02:00
Eric S. Raymond
be6dff68be latest-on-branch-p is no longer a public method
* vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el, vc/vc.el:
latest-on-branch-p is no longer a public method.
2014-12-11 23:29:41 -05:00
Eric S. Raymond
ea8b9df12e Remove VC rollback method.
* vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el,
vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: rrollback
method removed, to be replaced in the future by uncommit.
2014-12-11 22:44:32 -05:00
Eric S. Raymond
b1a765b3a8 In vc, abolish the dir-status method. 2014-12-02 10:11:48 -05:00
Eric S. Raymond
d4767877ac Eliminate an unuted function argument.
* vc.el, all backends: API simplification: Remove 4th 'default-state'
argument from vc-dir-status files and its backend methods - no backend
method ever set it.  It was used only in the fallback method to to set
a default of 'up-to-date, though a convoluted call chain obscured
this.
2014-12-02 08:01:46 -05:00
Eric S. Raymond
2fb8b146f7 Remove clear-headers from VC's public method set.
* vc/vc.el and all backends: API simplification; clear-headers is no
longer a public method.  It is now local to the one place it's used,
in the RCS steal-lock method.
2014-12-01 23:49:35 -05:00
Eric S. Raymond
7d2110560e Update the git backend's header comment. 2014-12-01 20:00:40 -05:00
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
4893831f69 Update some documentation changes and todo items. 2014-12-01 10:57:09 -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
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
Eli Zaretskii
04ed420021 Use "~1" instead of "^" in vc-git.el to specify the parent of a Git commit.
lisp/vc/vc-git.el (vc-git-previous-revision): Use "~1" instead of
 "^", since the latter is a special character for MS-Windows system
 shells.
2014-11-21 12:34:59 +02:00
Eli Zaretskii
f9b9251f8c Use correct encoding to communicate with Git.
lisp/vc/vc-git.el (vc-git-command, vc-git--call): Bind
 coding-system-for-read and coding-system-for-write to
 vc-git-commits-coding-system.
2014-11-21 12:26:35 +02: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
Rüdiger Sonderfeld
6ffab21f41 vc-git: Support `diff-switches'.
Fix bug#19099.
* lisp/vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with
  `diff-switches' if `vc-git-diff-switches' is nil.
2014-11-19 12:09:57 +01:00
Glenn Morris
e1418d0e25 * lisp/vc/vc/git.el: Fix previous.
Move new code after vc-git-log-view-mode definition to avoid bootstrap error.
Ref: http://hydra.nixos.org/build/16795500
2014-11-05 18:12:07 -05: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
Rasmus Pank Roulund
baee695a8b * lisp/vc/vc-git.el (vc-git-conflicted-files): Fix bug when git status
returns nil.

Fixes: debbugs:18391
2014-09-04 12:34:45 -04:00
Glenn Morris
f330aa150e * vc-git.el: Comments. 2014-08-25 12:48:08 -04:00
Eric S. Raymond
b5354531ba Add smerge support to the git back end. 2014-08-13 04:42:33 -04:00
Eric S. Raymond
2cc441ecbf Integrate Rüdiger Sonderfeld's code for detecting conflicted files under git. 2014-08-13 04:05:45 -04:00
Andreas Schwab
becc9e3c3f * vc/vc-git.el (vc-git-checkin): When operating on the whole tree
pass "-a".
2014-06-29 22:48:55 +02:00
Dmitry Gutov
f0a4c8d764 Fix #16897
* lisp/vc/vc-git.el (vc-git-command): Turn FILE-OR-LIST into nil when
it only contains the repository root.
2014-03-08 08:56:22 +02:00
Glenn Morris
85a5f61f29 * lisp/vc/vc-git.el (vc-git-print-log): Remove --follow;
reverts 2014-01-09 change.

Fixes: debbugs:16422
2014-01-21 21:01:40 -05:00
Eric S. Raymond
f29778b343 Minor bug fix.
Fixes: debbugs:8756
2014-01-09 11:46:56 -05:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Juanma Barranquero
0cd616a2d8 * vc/vc-git.el: Silence byte-compiler warnings.
(vc-git-dir-extra-headers): Rename arg _dir which is no longer ignored.
(log-edit-set-header): Declare.
2013-12-11 18:10:22 +01:00
Dmitry Gutov
0f457a371c Support the new log-edit behavior in vc-git-log-edit-toggle-amend
* lisp/vc/log-edit.el (log-edit-set-header): Extract from
`log-edit-toggle-header'.
(log-edit-extract-headers): Separate the summary, when extracted
from header, from the rest of the message with an empty line.

* lisp/vc/vc-git.el (vc-git-log-edit-toggle-amend): Move the summary
line, if present, to the Summary header.
2013-12-03 00:13:51 +02:00
Dmitry Gutov
6f20dd038e * lisp/vc/vc-git.el (vc-git-annotate-extract-revision-at-line): Make it
work when annotation is invisible.

Fixes: debbugs:13886
2013-11-25 04:28:02 +02:00
Dan Nicolaescu
826dc7b6b1 * vc/vc-git.el (vc-git-dir-extra-headers): Add headers
when rebase or bisect are in progress.
2013-11-19 15:23:53 -05:00