aboutsummaryrefslogtreecommitdiff
path: root/contrib/emacs/git.el
Commit message (Collapse)AuthorAge
* emacs: make 'git-status' work with separate git dirsEnrico Scholz2012-11-26
| | | | | | | | | | | | | | | | 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>
* git.el: Don't use font-lock-compile-keywordsLawrence Mitchell2011-04-03
| | | | | | | | | | | | | 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>
* git.el: Use git-add-file for unmerged files, remove git-resolve-fileMartin Nordholts2009-09-09
| | | | | | | | | | | 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>
* git.el: Clarify documentation of git-commit-treeDavid Kågedal2009-08-06
| | | | | Signed-off-by: David Kågedal <davidk@lysator.liu.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Improve the confirmation message on remove and revert.Alexandre Julliard2009-02-21
| | | | | | If there's only one file, print its name instead of just "1 file". Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Make sure that file lists are sorted as they are created.Alexandre Julliard2009-02-21
| | | | | | | | | | | 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>
* git.el: Add some notes about Emacs versions compatibility.Alexandre Julliard2009-02-07
| | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Use integer instead of character constants in case statement.Alexandre Julliard2009-02-07
| | | | | | This is for compatibility with XEmacs. Reported by Vassili Karpov. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Set a regexp for paragraph-separate in log-edit mode.Alexandre Julliard2009-02-07
| | | | | | | This allows using fill-paragraph on the log message without interference from the various header fields. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Make git-run-command-region display the error if any.Alexandre Julliard2009-02-07
| | | | | | This makes it easier to figure out why a commit has failed. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Add commands for cherry-pick and revert.Alexandre Julliard2009-02-07
| | | | | | | | 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>
* git.el: Add a command to create a new branch.Alexandre Julliard2009-02-07
| | | | | | | | | 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>
* git.el: Add a checkout command.Alexandre Julliard2009-02-07
| | | | | | | | | 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>
* git.el: Allow to commit even if there are no marked files.Alexandre Julliard2008-11-23
| | | | | | | This can be useful to commit a merge that didn't result in any changes. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Add possibility to mark files directly in git-update-status-files.Alexandre Julliard2008-11-23
| | | | | | | 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>
* git.el: Add an insert file command.Alexandre Julliard2008-11-23
| | | | | | | 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>
* git.el: Never clear the status buffer, only update the files.Alexandre Julliard2008-11-21
| | | | | | This makes it unnecessary to save/restore the file marks. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Fix git-amend-commit to support amending an initial commit.Alexandre Julliard2008-11-21
| | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Properly handle merge commits in git-amend-commit.Alexandre Julliard2008-11-21
| | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org>
* git.el: Simplify handling of merge heads in the commit log-edit buffer.Alexandre Julliard2008-11-21
| | | | | | | | 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>
* git.el: Remove the env parameter in git-call-process and ↵Alexandre Julliard2008-11-21
| | | | | | | | | 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>
* git.el: Improve error handling for commits.Alexandre Julliard2008-11-21
| | | | | | | 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>
* Rename .git/rebase to .git/rebase-applyJohannes Schindelin2008-07-21
| | | | | | | | | | 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>
* Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"Johannes Schindelin2008-07-15
| | | | | | | | | | | 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>
* Revert "git.el: Set process-environment instead of invoking env"Karl Hasselström2008-06-02
| | | | | | | | | 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>
* git.el: Set process-environment instead of invoking envClifford Caoile2008-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* specify explicit "--pretty=medium" with `git log/show/whatchanged`Denis Cheng2008-03-05
| | | | | | | | | | | 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>
* Merge branch 'maint'Junio C Hamano2008-02-29
|\ | | | | | | | | | | | | * 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
| * git.el: find the git-status buffer whatever its name isRémi Vanicat2008-02-29
| | | | | | | | | | | | | | | | | | | | | | 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>
* | git.el: Do not display empty directories.Alexandre Julliard2008-02-27
| | | | | | | | | | | | 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>
* | git.el: Set process-environment instead of invoking envDavid Kågedal2008-02-20
| | | | | | | | | | | | | | | | | | | | 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>
* | git.el: Better handling of subprocess errors.Alexandre Julliard2008-02-08
| | | | | | | | | | | | | | | | 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>
* | git.el: Check for existing buffers on revert.Alexandre Julliard2008-02-08
| | | | | | | | | | | | | | | | | | 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>
* | git.el: Added a command to amend a commit.Alexandre Julliard2008-02-08
| | | | | | | | | | | | | | | | 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>
* | git.el: Support for showing unknown/ignored directories.Alexandre Julliard2008-02-08
|/ | | | | | | | | 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>
* git.el: Make status refresh faster.Alexandre Julliard2008-01-08
| | | | | | | | | | | | 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>
* git.el: Refresh files from their real state upon commit.Alexandre Julliard2008-01-08
| | | | | | | | 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>
* git.el: Make sure we never insert the same file twice.Alexandre Julliard2008-01-08
| | | | | | | | 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>
* git.el: Display file types and type changes.Alexandre Julliard2008-01-06
| | | | | | | | | 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>
* git.el: Retrieve the permissions for up-to-date files.Alexandre Julliard2008-01-06
| | | | | | | | | 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>
* git.el: Support for getting diffs from inside the log-edit buffer.Alexandre Julliard2008-01-06
| | | | | | | | 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>
* git.el: Added a menu for git-status-mode.Alexandre Julliard2007-12-11
| | | | | | | | 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>
* git.el: Run git-gc --auto after commits.Alexandre Julliard2007-10-28
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Refresh only the changed file marks when marking/unmarking all.Alexandre Julliard2007-10-28
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Fix typo in git-update-saved-file error handling.Alexandre Julliard2007-10-28
| | | | | | | Spotted by Matthieu Lemerre. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Fix typo in "Reverted file" message.Alexandre Julliard2007-10-28
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Reset the permission flags when changing a file state.Alexandre Julliard2007-09-29
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Update a file status in the git buffer upon save.Alexandre Julliard2007-09-29
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git.el: Do not print a status message on every git command.Alexandre Julliard2007-09-29
| | | | | | | | 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>
* git.el: Preserve file marks when doing a full refresh.Alexandre Julliard2007-09-29
| | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>