Commit graph

156 commits

Author SHA1 Message Date
Dmitry Gutov
93c41ce6aa Remove extra process call from vc-git-find-file-hook
* lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
2018-06-28 03:14:56 +03:00
Dmitry Gutov
7ea0873b4f ; Update some commentary
* lisp/vc/vc-git.el (vc-git-state): Remove outdated commentary.
(vc-git-dir-status-goto-stage): Move a TODO here.
(vc-git-conflicted-files): From here.
(vc-git-find-file-hook): Add a FIXME.
2018-06-28 03:05:19 +03:00
Dmitry Gutov
4a7f4232ed Speed up vc-git-dir-status-files
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
ls-files -u' for the ls-files-conflict stage
(https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
2018-06-28 03:03:36 +03:00
Sam Steingold
6d4cbe8084 Finish the Bug#11728 work: hg & git
* lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
Do not set `compilation-error-regexp-alist', this is done in
`vc-compilation-mode'.
(vc-git-error-regexp-alist): Tweak the regexp.
* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
(vc-hg--pushpull): Accept `post-processing' argument.
Call them after the `command'.
(vc-hg-pull): Pass the `post-processing' commands that show which
are to be modified by the `update', and then run `update'.
2018-06-12 21:15:13 +01:00
Sam Steingold
66a491fbec Fix Bug#11728: show files updated by git
* lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
`compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
(vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
(vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
2018-06-12 21:15:02 +01:00
Glenn Morris
66a4e651f3 ; Fix doc typos related to indefinite articles 2018-02-16 15:16:15 -05:00
Eli Zaretskii
a06a8ed5b6 ; * lisp/vc/vc-git.el (vc-git--program-version): Fix last change. 2018-02-16 19:20:29 +02:00
Eli Zaretskii
6ddb4bd39a Fix 'vc-git--program-version'
* lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
work with Git for Windows.
2018-02-16 11:30:29 +02:00
Juri Linkov
c787a49682 * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
when vc-git-print-log-follow is non-nil (bug#19045).
(vc-git-print-log-follow): Doc fix.

* etc/NEWS: Mention 'vc-git-print-log-follow'.
2018-02-04 23:58:37 +02:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Robert Pluim
6067f0c702 Shell-quote wildcards when invoking 'vc-git-grep'
* lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
filename wildcards to ensure globbing is done by git rather
than the shell.  (Bug#29303)
2017-11-28 19:46:38 +02:00
Paul Eggert
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links 2017-11-25 22:48:12 -08:00
Robert Pluim
104f3e51fe Document how to enter whitespace when using grep-read-files
* lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
how to enter whitespace when using grep-read-files.  (Bug#29303)
* lisp/progmodes/project.el (project-find-regexp): Likewise.
* lisp/vc/vc-git.el (vc-git-grep): Likewise.
2017-11-17 15:39:02 +02:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Tom Tromey
13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
Bug#28427:
* lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
vc-setup-buffer.
2017-09-16 21:55:05 -06:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Dmitry Gutov
4bef92e9e0 Call vc-resynch-buffer in vc-git-resolve-when-done
* lisp/vc/vc-git.el (vc-git-resolve-when-done):
Call vc-resynch-buffer on the current file (bug#28121).
Move its autoload to before this function.
2017-09-13 02:31:19 +03:00
Nikolay Kudryavtsev
6ad42aecc2 Improve of file-local-name use in vc-git-checkin
* lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
when calling git commit.
2017-06-04 09:59:49 +02:00
Sam Steingold
62046ed3e9 Fix "g" in hg&git push&pull buffers
lisp/vc/vc-git.el (vc-git--pushpull): Set locally
`compilation-directory' and `compilation-arguments'.
lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
2017-05-22 15:48:21 -04:00
Dmitry Gutov
8e94fb1dd9 vc-git-state: Return `ignored' as appropriate with newer Git
* lisp/vc/vc-git.el
(vc-git--program-version): New variable.
(vc-git--program-version): New function.
(vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
2017-05-01 19:54:34 +03:00
Dmitry Gutov
0c76f94693 vc-git-state: Bring back CentOS 6 compatibility
* lisp/vc/vc-git.el (vc-git-state):
Bring back CentOS 6 compatibility (bug#19343).
2017-05-01 17:59:21 +03:00
Jonathan Ganc
24301c8148 Speed up vc-git-status and make it more precise
* lisp/vc/vc-git.el (vc-git-state)
(vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
'git status', so that 'vc-git-state' can now return 'ignored',
'conflict', or 'unregistered' when appropriate.  Discussed in
bug#26066.  Fixes bug#19343.
2017-05-01 04:30:01 +03:00
Dmitry Gutov
af736528b9 Fix Git revision navigation in currently removed directories
* lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
default-directory because FILE's parent directory might not exist
anymore (bug#26345).
2017-05-01 04:30:01 +03:00
Tom Tromey
0a670690f1 vc-log-outgoing fixes for git; add binding to vc-dir
* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
* lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
async execution.
(vc-git-log-view-mode): Also truncate lines for log-outgoing and
log-incoming.
* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
as remote-location argument.
2017-02-19 21:01:28 -07:00
Tom Tromey
a4c3227230 Remove stale comments from vc-git and vc-hg
* lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
2017-02-19 20:59:35 -07:00
Tom Tromey
3fb9f5452f Make vc-git detect conflict state for vc-dir
* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
(vc-git-dir-status-update-file): New function.
(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
vc-git-dir-status-state; add 'ls-files-conflict state.
(vc-git-dir-status-files): Create a vc-git-dir-status-state.
2017-02-14 14:07:53 -07:00
Dmitry Gutov
5b9f08fb86 Remove leftover references to log-view-message-face
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.

* lisp/vc/vc-git.el (vc-git-root-log-format): Same.

* lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
2017-01-14 06:56:37 +03:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
4f7a90bf6c Merge from origin/emacs-25
9adb101 Document 'describe-fontset'
229315c ; Add missing symbol quoting.
3d94931 Repair desktop restoration on text terminals
43022f9 Ignore forward-sexp-function in js-mode indentation code
b19fb49 Improve documentation of 'define-coding-system'
467768f Fix Bug#25162
6db78ae Fix a typo in define-abbrev-table
5f7d906 Bump makeinfo requirement from 4.7 to 4.13
442e2f6 Fixes related to select-enable-clipboard
e4ac450 Define struct predicate before acccesors
08decbd Doc fix for vc-git
5531e75 Further improve make-dist checking
953bf67 Improve previous make-dist change
129645a Make make-dist --snapshot do some sanity checks

# Conflicts:
#	lisp/menu-bar.el
2017-01-01 01:02:45 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Glenn Morris
08decbd04b Doc fix for vc-git
* lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
2016-12-07 22:53:58 -08:00
Glenn Morris
5202cb56ad Make "g" in vc push/pull buffers re-push/pull
* lisp/vc/vc-bzr.el (vc-bzr--pushpull):
* lisp/vc/vc-git.el (vc-git--pushpull):
* lisp/vc/vc-hg.el (vc-hg--pushpull):
Set compile-command so that "g" works.  (Bug#11446)
2016-12-06 20:31:54 -05:00
Michael Albinus
22946702b4 Add file-local-name
* doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
(Unique File Names): Use it.

* etc/NEWS: Mention `file-local-name'.

* lisp/files.el (file-local-name): New defun.
(file-expand-wildcards):
* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
* lisp/eshell/esh-ext.el (eshell-remote-command):
* lisp/eshell/esh-proc.el (eshell-gather-process-output):
* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init, gud-format-command):
* lisp/progmodes/python.el (python-shell-send-file):
* lisp/shell.el (shell):
* lisp/vc/ediff-diff.el (ediff-same-file-contents):
* lisp/vc/vc-git.el (vc-git-checkin): Use it.
2016-11-20 16:29:47 +01:00
Sam Steingold
8663fad0a7 add vc-git-print-log-follow' and use it in vc-git-print-log'
When `vc-git-print-log-follow' is true and all files are
non-directory, pass "--follow" to "git log".
This works around bug#8756 and bug#16422.
2016-11-14 23:37:33 -05:00
Sam Steingold
39f0543ca1 vc-git-print-log: pass "--follow" to "log" to handle renamed files 2016-11-14 19:13:44 -05:00
Michael Albinus
2c0506173d Add make-nearby-temp-file' and temporary-file-directory'
* doc/lispref/files.texi (Unique File Names):
Introduce `make-nearby-temp-file' and `temporary-file-directory'.
(Magic File Names): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* etc/NEWS (provided): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* lisp/files.el (mounted-file-systems): New defcustom.
(temporary-file-directory, make-nearby-temp-file): New defuns.
(normal-backup-enable-predicate): Fix docstring.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
<make-nearby-temp-file, temporary-file-directory>: Add handler.

* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `make-nearby-temp-file' and `temporary-file-directory'.
(tramp-get-remote-tmpdir): Remove compatibility code.
(tramp-handle-temporary-file-directory)
(tramp-handle-make-nearby-temp-file): New defuns.

* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init):
* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.

* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Check `tramp--test-enabled'.
(tramp-test18-file-attributes): Add tests for
`file-ownership-preserved-p'.
(tramp-test27-start-file-process, tramp-test28-shell-command):
Reduce timeouts in `accept-process-output'.
(tramp-test--shell-command-to-string-asynchronously): Add timeout.
(tramp-test29-environment-variables): Remove additional sleep calls.
(tramp-test32-make-nearby-temp-file): New test.
(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
(tramp-test33-special-characters)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests)
(tramp-test36-recursive-load, tramp-test37-unload): Rename.
(tramp--test-ftp-p): Simplify check.
(tramp--test-sh-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command)
(tramp-test29-environment-variables)
(tramp-test30-vc-registered)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests): Use it.
2016-08-07 13:57:23 +02:00
Paul Eggert
fdcf46d33e Merge from origin/emacs-25
0377fe2 ; Spelling fixes
f253695 Update docs for `customize-mode'
4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
ab0ebb9 ; Only load .elc file in tests.
a98aa02 Error on multibyte characters in HTTP request
ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
dc5e65b Unset GIT_DIR when calling Git commands
6cdd8f7 Ensure undo-boundary after insert-file-contents.
4793f5f Clarify documentation of 'line-spacing' and 'line-height'
5f37572 Fix removal of variables from process-environment
e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...

# Conflicts:
#	doc/lispref/modes.texi
#	lisp/gnus/mm-decode.el
2016-06-26 00:16:25 +02:00
Dmitry Gutov
dc5e65b5de Unset GIT_DIR when calling Git commands
* lisp/vc/vc-git.el (vc-git--call, vc-git-command):
Unset GIT_DIR (bug#23769).
2016-06-22 02:04:33 +03:00
Dmitry Gutov
dd39c6fbeb ASCII-fy coding-system-for-read used for Git commands
* lisp/vc/vc-git.el (vc-git--asciify-coding-system):
New function.
(vc-git-diff, vc-git-annotate-command): Use it.
2016-06-19 22:08:21 +03:00
Paul Eggert
a8da4d033d Merge from origin/emacs-25
71fb0e0 Improve last change to vc-git-mode-line-string
6858e77 Todo mode doc bug fix
e55d0db Fix revision calculation in vc-git-mode-line-string
ca87b34 ; Fix errant revert ccb75d7
40bfebe Add Python 3.5 keyword "await"
fa7886a Add new keywords of Python 3.5
ccb75d7 Partially revert previous change.
8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
b09ca27 Say why text-quoting-style is not a user option
2016-05-01 18:07:57 -07:00
Leo Liu
71fb0e06e7 Improve last change to vc-git-mode-line-string
* lisp/vc/vc-git.el (vc-git-mode-line-string): Better fix that caches
  the result.
2016-04-27 22:12:12 +08:00
Leo Liu
e55d0db957 Fix revision calculation in vc-git-mode-line-string
* lisp/vc/vc-git.el (vc-git-mode-line-string): Use
  vc-git-working-revision because vc-working-revision needs to decide
  the backend and may return nil.
2016-04-27 13:18:16 +08:00
Paul Eggert
169043d662 Merge from origin/emacs-25
9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
0cd2e92 Don't kill ~/ if it's the top level directory
4f40f5f describe-char: fix insert char documentation
87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
2016-04-24 12:49:22 -07:00
Dmitry Gutov
87ee542fbc (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
* lisp/vc/vc-git.el (vc-git-mode-line-string): Use `substring'
instead of `replace-regexp-in-string', because REV can be nil
(e.g. when FILE is a directory, bug#23344), and we actually know
we only need the first 4 characters.
2016-04-23 22:16:40 +03:00
Paul Eggert
435da5d295 Merge from origin/emacs-25
b134c20 Sync with gnulib
bb30fa9 Fix last change on 2016-01-02
488a72f ; Spelling fixes
9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
0e7bcec Avoid crashes due to unreasonably large or small text scaling
85f257c Improve documentation of 'with-eval-after-load'
668c7bc Improve handling of non-ASCII characters in Git log messages
b570769 Remove undefined behavior in OS X dumper.
97211f3 Fix clipping of xwidgets
e87fbc0 Improve Lisp-level documentation of tooltips
9f1786e Faces names should not end in "-face".
3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
a1f221b Comint and compile no longer set EMACS
5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
c93ae7a Allow to customize names of executables used by grep.el
f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
a3f1ac2 Avoid infinite loop in 'studlify-word'
f36df4b Don’t recommend obsolete EMACS env var
fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
2016-04-11 09:07:16 -07:00
Eli Zaretskii
668c7bc5ba Improve handling of non-ASCII characters in Git log messages
* lisp/vc/vc-git.el (vc-git-commits-coding-system): Now a defcustom.
(vc-git-log-output-coding-system): New defcustom.
(vc-git-print-log, vc-git-command, vc-git--call): Use
'vc-git-log-output-coding-system' for reading stuff from Git.
Don't override values of 'coding-system-for-read/write' if they
are bound by caller -- this allows the user to force an encoding
via "C-x RET c".
(vc-git-checkin): On MS-Windows, pass the log message via a
temporary file, to work around the limitations on passing
non-ASCII characters via command-line arguments.  Force using the
'locale-coding-system' for Git command-line arguments.  This fixes
problems with non-ASCII commit log messages on MS-Windows.
(Bug#23076)

* etc/NEWS: Mention the new vc-git related defcustoms.
2016-04-10 19:04:33 +03:00
Paul Eggert
b1c7207dbb Merge from origin/emacs-25
b787d55 More format-time-string change fixups
13c8f29 make-xwidget unused arg cleanup
36e05f0 Remove unused arguments from make-xwidget
1042217 Document incompatible changes in 'format-time-string'
7228eb8 Improve documentation of byte-code objects
0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
17b5152 Improve vc-diff with Git backend
c28f87a (js--continued-expression-p): Special-case unary plus and minus
2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
b3b523c Avoid crashes due to insanely large columns in tabulated-list...
a3daa34 Teach M-x disassemble a default argument.
e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
df441b3 Fix OS X specific settings in tramp-tests
2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)

# Conflicts:
#	lisp/net/tramp-sh.el
#	lisp/progmodes/cc-engine.el
2016-04-03 13:39:52 -07:00
Eli Zaretskii
17b5152d73 Improve vc-diff with Git backend
* lisp/vc/vc-git.el (vc-git-command): Don't override
coding-system-for-read/write if they are already bound.
Suggested by joaotavora@gmail.com (João Távora).  (Bug#20892)
(vc-git-print-log): Don't override coding-system-for-read if it's
already bound.
2016-04-02 12:25:15 +03:00
Dima Kogan
e8146d49b0 Strip out some leading whitespace when looking at logs
* lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
at expanded git logs with `vc-print-root-log' (C-x v L, then
<enter> by default), Emacs was stripping out all leading
whitespace from git logs.  I now strip exactly 2 leading
spaces, which retains the indentation in the logs (bug#18110).
2016-02-28 15:18:45 +10:30
Stephen Leake
a71560b0e3 Implement vc-mtn-find-ignore-file, fix some doc strings
* lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string.

* lisp/cedet/ede/locate.el (initialize-instance): Improve doc string.

* lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string.

* lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function.
2016-01-29 17:46:18 -06:00