Release 1.7.3 ============= This release adds some minor improvements, and fixes a lot of bugs. Most of these has been in master branch since a long time. New features ------------ * Add option to auto-close magit buffer/window on clean state #132 * Jump to source is now line precise #152 #153 Using the 'E' (for edit) mapping, cursor will now jump to the exact line instead of the beginning of the hunk. * Smarter cursor position when staging/refreshing. When refreshing, the cirsor stays in the same position. When (un)staging, cursor move to the hunk close to the current one. * Add vimagit support to vim-airline Bug fixes --------- * Fix freeze while refresh fix #170 #36 * Fix character escape issues #156 #168 These are two old issues, which have been reproduced thanks to the issue #168. Big up to @akrejczinger for the docker image. * Discarding untracked file results in an error in some cases fix #165 * Ungraceful behaviour when opening magit outside of a git repo fix #162 * Freshly created repository fails to open in vimagit fix #169 * Handle commit set at the end of magit_default_sections #149 Release 1.7.2 ============= This is a *not so minor* vimagit update at the end. It adds a nice feature, setting the cursor position on magit buffer opening at a smart position: if you are editing a file, and your cursor is in the middle of a modification, magit will open with he cursor on this hunk. User will also notice that standard mappings (`L` or `E` to cite a few) are no longer broken in commit mode. This may a be a first step to introduce default mappings without `Shift` (see #101) It also fixes some minor bugs (meaning these bugs were not break anything). New features ------------ * Open magit buffer with a smart cursor position. When opening magit buffer, cursor is set to current file file hunk, if any #125 * Disable most of the mappings in commit mode (i.e. when user is editing). For example, user can now use 'L' or 'E' when editing its commit message #101 #106 * Magit now shows more information on top: it shows the current remote upstream branch and remote push branch. This is a first step to the git push feature! * Add VimagitLeaveCommit User autocmd. WithVimagitEnterCommit and VimagitLeaveCommit, you can now set the textwidth when you are editing your commit message (see VimagitLeaveCommit section in vimagit help) #140 * You can now use Enter to fold/unfold a file #71 Bug fixes --------- * Fix 'quit' behavior to something consistent: if opened with Magit (i.e. splitting the window) 'q' close the magit buffer; if opened with MagitOnly , i.e. using the current buffer, 'q' switch to the previous buffer. If magit is the last opened window, and it does not have an alternate buffer, it quits vim #137 * Fix jump to "file already open" abort #128 * Fix warning when magit is closed with bdelete #130 * Fix .gitmessage template commit duplicate on refresh #135 Contributors ------------ Users who have contributed to this release: * @argshook Release 1.7.1 ============= Some bugs have been reported right after the release 1.7.0 Fixes ----- * when info section is last section, commit title like "vim: " can be intertpreted as a modeline #120 * vimagit opens in location list #119 Release 1.7.0 ============= With the new cursor behavior, commit a serie of hunk has never been so delightful! Stage one hunk and have a natural look to the next hunk in one move. Also, think to enable vimagit support in vim-airline with: :let g:airline#extensions#vimagit#enabled = 1 Major features -------------- * Smart cursor position when staging #96 #115 * Check user's commit message length #86 #116 * New mappings `` `` to jump to hunks #101 * Jump through closed files too #99 * Enlarge or shrink hunks #97 * Commit message with standard write commands :w :x :wq ZZ #91 * Add support for Vim-Signify #93 Minor features -------------- * Change inline help toggling mapping from 'h' to '?' #80 * Add magit#show_version() and g:magit_version #69 * Remove ugly 'End commit message' from vimagit buffer #84 * Add `` to buffer mappings #85 * Fix inline help bug with commit section #110 Bug fixes --------- * Handle empty commit (without staged file) and empty commit message #79 * Escape vimagit path to solve space issue #89 * Support commit.verbose=yes #98 * Escape dirs while chdir #89 * Avoid breaking tab-local directory settings #95 * Handle old vim ~ 7.4-0 fnameescape behavior on Windows #108 * Fix E871 error when staging #117 * Show custom mapping in inline help #103 Contributors ------------ Thanks to @hkupty @scps950707 @Alok @aschrab @thirtythreeforty @olshevskiy87 @poohzrn Release 1.6.0 ============= New feature *jump* is really awesome, you must try it! Features -------- * From a hunk in the magit buffer, press *E* and *jump* the corresponding file at the diff position. If this file is already opened in a window, cursor move to this window. * Add events at key points in magit buffer. User can plug commands to these events. This new feature brings the two next features: * If vim-gitgutter is installed, auto update its signs when git status is updated. * You can find in help a tip to enter in commit mode in insert mode. * User can set its own git exec binary with g:magit_git_cmd variable. Fixes ----- * Commit message is preserved when the magit buffer is refreshed (fix #57) * It is now possible to unstage by selection (fix #32) * When opening a magit session, if a magit buffer for this git repository is already open, jump to this buffer. * Inline help shows mapped key instead of default (fix #72) * Fix peculiar folding behavior when magit buffer is refreshing. Release 1.5.2 ============= Features -------- * add command CU (commit undo) to close commit section (fix #55) * add g:magit_discard_untracked_do_delete option (fix #66) when set, discard an untracked file will actually delete this file * support 'typechanged' git status type Fixes ----- * clear undo history after each update_buffer() call (refs #64) undo in magit buffer did the user believe that it may undoes some vimagit actions: it is not! magit buffer undo history is wiped at each refresh; which means undo still works while the user is typing its commit message for example. * binary file detection is done with git diff (fix #60, #61) it fixes false positive binary file detection, binary file detection on Windows, and may eventually speed up the refresh process :) * output an understandable message when user tries ot discard an untracked file (fix #58) * remove unwanted --No lines in buffer-- in status line when opening magit buffer (fix #56) * use 'diff -p' instead of 'diff --patch' (fix #52) * better handling of some command line error code and improve some error messages * set local foldnestmax (fix #62) Release 1.5.1 ============= Fixes ----- * fix next/prev jump folding * fix modified/untracked content in submodule (fix #49) Release 1.5.0 ============= Features -------- * vimagit is now able to handle multiple git repositories (fix #44,#34,#29). * add mappings N and P to jump to next and previous hunk (fix #25). * reorder magit display: display modified files first. * disable inline help by default (fix #46). It is always possible to switch inline help display with 'h', or with g:magit_show_help * rework magit buffer color syntax. * display commit mode in Info section. * rename magit buffer, now named after git repository path, e.g. magit:///path/to/git/repo/ * add MagitOnly command. It can be used to craft a bash alias like: alias magit='vim -c MagitOnly' Fixes ----- * safe and smart handling of quit command (fix #41,#43). * close vimagit window if there is another window. * switch to alternate buffer if any. * close vim if magit buffer the only buffer. * disable ':w' mapping, which was not safe. This feature will be re inserted with a safer method later. Release 1.4.2 ============= Enhancements ------------ * smarter way to handle magit buffer: * improve some internal mechanisms, which should improve performances for huge repositories * by default, do not show untracked/deleted/added/renamed files diffs (ref #28) * see g:magit_default_show_all_files new behavior * add g:magit_default_sections to let user choose which sections are displayed (fix #37) user can now choose which sections to display, and in which order Bug fixes --------- * magit buffer become empty after switching to other window and back (#35) * remove warning when opening magit buffer * check that magit buffer exists before removing it (refs #39) Release 1.4.1 ============= Fixes ----- * fix add binary file (fixes #27) * fix some display problem (Unstaged changes may not be highlighted) * fix reset and discard for binary files Features -------- * git works in a clean environment, without any configuration Release 1.4 =========== This is a major step for vimagit. It should now contain all primary command needed for staging. Then, this release should be the real 1.0 version. Features -------- * Stage parts of hunk (fixes #8 and #19) * select some with v, then stage your selection with S * stage a single line with L * mark lines (can be non contiguous) with M, then stage marked lines in the hunk with S * Stage single files in new directories (fixes #10) * New options (fixes #18) * g:magit_default_show_all_files to define if file diffs are shown or not at magit buffer opening. * If magit buffer contains more than g:magit_warning_max_lines (default 10000) lines to display, user is asked if he wants to display all these lines. * g:magit_default_fold_level to define foldlevel of magit buffer. * These options can be overriden with new magit#show_magit() parameters (allowing user to define its own mappings/commands) * File display is now sorted. * Show submodule diffs (fixes #12) Fixes ----- No bugs have been reported since release 1.3. Release 1.3 =========== Features -------- * hide file diffs: to hide/unhide diffs for a file, move the cursor to the filename and press (Enter). It allows vimagit to be fast when there is a lot of diffs in a repository. * zo, zO, zc, zC mappings on a filename hide/unhide file diffs. * modify hunk before staging: in the Magit buffer, it is possible to modify a hunk before staging it. Only '+' lines can be modified. No lines can be deleted or added for the moment. (fixes #9). * handle new empty files and new symlink (fix #11). * handle binary files (fix #13). * stage/unstage/ignore/discard a file with cursor on the filename. * add global mapping M to open magit buffer (it can be overwritten with g:magit_show_magit_mapping). * remove 'C' default mapping. Fixes ----- * fix staging issue: sometimes, staging a hunk was failing. * handle filenames with spaces. Release 1.2 =========== Fixes ----- * read COMMIT_EDITMSG only if exists (commit command failed for fresh new git directory) * fix issue of some rare hunk staging (because of some whitespaces) Features -------- * stage/unstage/ignore on file header now works * add info section (fix #6) Release 1.1 =========== Fixes ----- * add wrappers to system and systemlist, when vim doesn't support system with List (available since vim v7.4.248) * fix git diff failing when cwd is not in top dir (it ends with an empty Magit buffer) * ensure to not use external diff if any * Check commentChar from git config New mappings ------------ * default discard mapping is now DDD, to avoid mistype * map :w to commit * close Magit buffer with q Internal -------- * put some first tests in regression, with travis