summaryrefslogtreecommitdiff
path: root/contrib/emacs/git.el
AgeCommit message (Collapse)AuthorFilesLines
2012-11-26emacs: make 'git-status' work with separate git dirsLibravatar Enrico Scholz1-1/+1
when trying 'M-x git-status' in a submodule created with recent (1.7.5+) git, the command fails with | ... is not a git working tree This is caused by creating submodules with '--separate-git-dir' but still checking for a working tree by testing for a '.git' directory. The patch fixes this by relaxing the existing detection a little bit. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Acked-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-03git.el: Don't use font-lock-compile-keywordsLibravatar Lawrence Mitchell1-3/+10
If font-lock is disabled, font-lock-compile-keywords complains. Really what we want to do is to replace log-edit's font-lock definitions with our own, so define a major mode deriving from log-edit and set up font-lock-defaults there. We then use the optional MODE argument to log-edit to set up the major mode of the commit buffer appropriately. Signed-off-by: Lawrence Mitchell <wence@gmx.li> Acked-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-09git.el: Use git-add-file for unmerged files, remove git-resolve-fileLibravatar Martin Nordholts1-12/+1
Use `git-add-file' to mark unmerged files as resolved in the *git-status* buffer to be consistent with git's CLI instructions. Also remove `git-resolve-file' to make it clear that that "R" is a now a free keybinding. Signed-off-by: Martin Nordholts <martinn@src.gnome.org> Acked-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-06git.el: Clarify documentation of git-commit-treeLibravatar David Kågedal1-5/+8
Signed-off-by: David Kågedal <davidk@lysator.liu.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-02-21git.el: Improve the confirmation message on remove and revert.Libravatar Alexandre Julliard1-2/+6
If there's only one file, print its name instead of just "1 file". Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-21git.el: Make sure that file lists are sorted as they are created.Libravatar Alexandre Julliard1-13/+16
This avoids a possibly redundant sort in git-update-status-files and git-status-filenames-map, and allows callers to continue using the list without having to copy it. It also fixes the confusing success messages reported by Brent Goodrick. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Add some notes about Emacs versions compatibility.Libravatar Alexandre Julliard1-2/+10
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Use integer instead of character constants in case statement.Libravatar Alexandre Julliard1-15/+15
This is for compatibility with XEmacs. Reported by Vassili Karpov. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Set a regexp for paragraph-separate in log-edit mode.Libravatar Alexandre Julliard1-0/+1
This allows using fill-paragraph on the log message without interference from the various header fields. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Make git-run-command-region display the error if any.Libravatar Alexandre Julliard1-19/+19
This makes it easier to figure out why a commit has failed. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Add commands for cherry-pick and revert.Libravatar Alexandre Julliard1-0/+42
Support for cherry-picking and reverting commits, with automatic formatting of the commit log message. Bound to C-c C-p and C-c C-v respectively. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Add a command to create a new branch.Libravatar Alexandre Julliard1-0/+14
Prompts for a branch name, create a new branch at HEAD and switch to it. Bound to C-c C-b by default. Based on a patch by Rémi Vanicat <vanicat@debian.org>. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2009-02-07git.el: Add a checkout command.Libravatar Alexandre Julliard1-2/+31
Prompts for a branch name and checks it out. Bound to C-c C-o by default. Based on a patch by Rémi Vanicat <vanicat@debian.org>. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-23git.el: Allow to commit even if there are no marked files.Libravatar Alexandre Julliard1-23/+20
This can be useful to commit a merge that didn't result in any changes. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-23git.el: Add possibility to mark files directly in git-update-status-files.Libravatar Alexandre Julliard1-5/+3
This avoids the need to go through the list twice, which helps performance on large file lists. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-23git.el: Add an insert file command.Libravatar Alexandre Julliard1-0/+7
This allows to insert a file in the buffer no matter what its state is, making it possible for instance to remove an up-to-date file. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Never clear the status buffer, only update the files.Libravatar Alexandre Julliard1-84/+85
This makes it unnecessary to save/restore the file marks. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Fix git-amend-commit to support amending an initial commit.Libravatar Alexandre Julliard1-3/+7
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Properly handle merge commits in git-amend-commit.Libravatar Alexandre Julliard1-8/+9
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Simplify handling of merge heads in the commit log-edit buffer.Libravatar Alexandre Julliard1-8/+7
Use a single Merge: header instead of one Parent: header for each parent, and don't list the current HEAD as a merged head. Support symbolic references too. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Remove the env parameter in git-call-process and ↵Libravatar Alexandre Julliard1-28/+26
git-call-process-string. All callers that need to change the environment now set process-environment themselves. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-11-21git.el: Improve error handling for commits.Libravatar Alexandre Julliard1-17/+29
Display all errors happening in the various subcommands of the commit sequence, and abort on any error. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2008-07-21Rename .git/rebase to .git/rebase-applyLibravatar Johannes Schindelin1-4/+4
With git-am, it sounds awkward to have the patches in ".git/rebase/", but for technical reasons, we have to keep the same directory name for git-am and git-rebase. ".git/rebase-apply" seems to be a good compromise. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-15Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"Libravatar Johannes Schindelin1-4/+4
Since the files generated and used during a rebase are never to be tracked, they should live in $GIT_DIR. While at it, avoid the rather meaningless term "dotest" to "rebase", and unhide ".dotest-merge". This was wished for on the mailing list, but so far unimplemented. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-02Revert "git.el: Set process-environment instead of invoking env"Libravatar Karl Hasselström1-4/+7
This reverts commit dbe48256b41c1e94d81f2458d7e84b1fdcb47026, which caused mis-encoding of non-ASCII author/committer names when the git-status mode is used to create commits. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-04-21git.el: Set process-environment instead of invoking envLibravatar Clifford Caoile1-7/+4
According to the similar patch from David Kågedal [1], "this will make it a little less posix-dependent and more efficient." However, there are two other areas that need to replaced, namely git-run-command-region and git-run-hooks. This patch implements the changes of [1] onto those Emacs Lisp functions. If unpatched, using the git port "msysgit" on Windows will require defadvice changes as shown at [2] (also explained at 4msysgit.git [3]). I have tested git-run-command-region on msysgit, because this is always called by git-commit (via git-commit-tree <- git-do-commit <- git-commit-file). However, I could not test git-run-hooks because it currently does not work on the Emacs Windows port. The latter reports the hooks files as a+rw and a-x, despite msysgit and cygwin chmod setting on the respective files. References: [1] f27e55864317611385be4d33b3c53ca787379df9 [2] http://groups.google.com/group/msysgit/browse_thread/thread/b852fef689817707 [3] http://repo.or.cz/w/git/mingw/4msysgit.git?a=commit;h=3c30e5e87358eba7b6d7dcd6301ae8438f0c30ea Signed-off-by: Clifford Caoile <piyo@users.sourceforge.net> Acked-by: David Kågedal <davidk@lysator.liu.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05specify explicit "--pretty=medium" with `git log/show/whatchanged`Libravatar Denis Cheng1-1/+1
The following patch will introduce a new configuration variable, "format.pretty", from then on the pretty format without specifying "--pretty" might not be the default "--pretty=medium", it depends on the user's config. So all kinds of Shell/Perl/Emacs scripts that needs the default medium pretty format must specify it explicitly. Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-29Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: Documentation cherry-pick: Fix cut-and-paste error git.el: find the git-status buffer whatever its name is git-gui: Paper bag fix info dialog when no files are staged at commit
2008-02-29git.el: find the git-status buffer whatever its name isLibravatar Rémi Vanicat1-1/+1
git-status used the buffer name to find git-status buffers, and that can fail if the buffer has another name, for example when multiple working directories is tracked. Signed-off-by: Rémi Vanicat <vanicat@debian.org> Acked-by: Alexandre Julliard <julliard@winehq.org> Tested-by: Xavier Maillard <xma@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-27git.el: Do not display empty directories.Libravatar Alexandre Julliard1-1/+1
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Tested-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-20git.el: Set process-environment instead of invoking envLibravatar David Kågedal1-4/+3
This will make it a little less posix-dependent, and more efficient. Included is also a minor doc improvement. Signed-off-by: David Kågedal <davidk@lysator.liu.se> Acked-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-08git.el: Better handling of subprocess errors.Libravatar Alexandre Julliard1-37/+51
Where possible, capture the output of the git command and display it if the command fails. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-08git.el: Check for existing buffers on revert.Libravatar Alexandre Julliard1-0/+8
Refuse to revert a file if it is modified in an existing buffer but not saved. On success, revert the buffers that contains the files that have been reverted. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-08git.el: Added a command to amend a commit.Libravatar Alexandre Julliard1-1/+73
It reverts the commit and sets up the status and edit log buffer to allow making changes and recommitting it. Bound to C-c C-a. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-08git.el: Support for showing unknown/ignored directories.Libravatar Alexandre Julliard1-9/+29
Instead of recursing into directories that only contain unknown files, display only the directory itself. Its contents can be expanded with git-find-file (bound to C-m). Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-08git.el: Make status refresh faster.Libravatar Alexandre Julliard1-11/+13
Don't set the needs-refresh flag when inserting a new file info, since ewoc refreshes it upon insert already; this makes a full refresh twice as fast. Also make git-fileinfo-prettyprint a little faster by not retrieving permission values twice. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-08git.el: Refresh files from their real state upon commit.Libravatar Alexandre Julliard1-10/+12
Instead of just setting the state to up-to-date, retrieve the full state again, so that the file type can be displayed properly. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-08git.el: Make sure we never insert the same file twice.Libravatar Alexandre Julliard1-3/+3
Skip non-zero stage files during git-ls-files -c, they are handled later. Also fix git-insert-info-list to merge duplicate file names. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-06git.el: Display file types and type changes.Libravatar Alexandre Julliard1-3/+31
Handle the T status from git-diff-index to display type changes between file/symlink/subproject. Also always show the file type for symlink and subprojects to indicate that they are not normal files. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-06git.el: Retrieve the permissions for up-to-date files.Libravatar Alexandre Julliard1-2/+18
This allows displaying correctly the executable flag for the initial commit, and will make it possible to show the file type for up-to-date symlinks and subprojects. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-01-06git.el: Support for getting diffs from inside the log-edit buffer.Libravatar Alexandre Julliard1-2/+12
Take advantage of the new log-edit feature that allows to show a diff with C-c C-d while editing the log message. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-11git.el: Added a menu for git-status-mode.Libravatar Alexandre Julliard1-1/+42
Originally written by Rémi Vanicat, I just changed the layout a little. Signed-off-by: Rémi Vanicat <vanicat@debian.org> Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28git.el: Run git-gc --auto after commits.Libravatar Alexandre Julliard1-0/+1
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28git.el: Refresh only the changed file marks when marking/unmarking all.Libravatar Alexandre Julliard1-2/+5
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28git.el: Fix typo in git-update-saved-file error handling.Libravatar Alexandre Julliard1-1/+1
Spotted by Matthieu Lemerre. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28git.el: Fix typo in "Reverted file" message.Libravatar Alexandre Julliard1-1/+1
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-29git.el: Reset the permission flags when changing a file state.Libravatar Alexandre Julliard1-17/+11
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-29git.el: Update a file status in the git buffer upon save.Libravatar Alexandre Julliard1-2/+16
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-29git.el: Do not print a status message on every git command.Libravatar Alexandre Julliard1-29/+41
Instead print a single message around sequences of commands that can potentially take some time. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-29git.el: Preserve file marks when doing a full refresh.Libravatar Alexandre Julliard1-12/+28
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>