发布于 2016-01-31 00:28:48 | 108 次阅读 | 评论: 0 | 来源: 网友投递
Magit Emacs 的 Git 扩展
Magit 是 Git 版本控制系统的接口,作为一个 Emacs 包实现的。它封装了绝大多数 Git 命令,可直接在 Emacs 编辑器中使用。
Magit 2.5.0 发布,更新如下:
* The library `with-editor.el' reincarnated as a separate repository. It was already available as a separate package, and since it can be of use for packages that have absolutely nothing to do with `magit' it makes sense to maintain it separately. That wasn't done before because that would have made it harder to change it and its users within the magit repository in parallel. I expect there will be few such changes in the future. * Added new library `magit-submodule.el'. It contains code that was previously spread across various libraries. * Added new option `auto-revert-buffer-list-filter' and redefined `auto-revert-buffers' from `autorevert.el' to use it. Added new predicates `magit-auto-revert-buffer-p' and the more restrictive `magit-auto-revert-repository-buffer-p', which are both intended to be used as potential value of the option. For now the option defaults to `nil', but that might change in a future release. When Magit explicitly calls `auto-revert-buffers' (as opposed to when that is called due to a file notification event or by a timer), and `auto-revert-buffer-list-filter' is `nil', then it is let-bound to `magit-auto-revert-repository-buffer-p'. Users who use Tramp and experience delays, should consider setting the option to `magit-auto-revert-repository-buffer-p'. * By default, invoking `magit-unstage' on a committed change now performs an action which is somewhat similar to unstaging. The change is reverted in the index, but not the working tree. This allows extracting changes from HEAD. Setting the new option `magit-unstage-committed' to nil, disables this behavior. Attempting to unstage a committed change would then result in an error again. * Because file notifications may arrive with a delay, the option `magit-auto-revert-immediately' now defaults to `t' even when file notifications can be used, * Like `magit-refresh' already did, `magit-refresh-all' now runs the hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'. * The heading of the section which lists commits that exist in the current branch but not in its upstream was changed from "Unpushed to <upstream>" to "Unmerged into <upstream>", because one usually should merge into that branch instead of pushing to it. * Added new commands `magit-remote-set-head' and `magit-remote-unset-head'. * By default `magit-clone' now deletes the symbolic-ref "origin/HEAD" right after running `git clone', which insists on creating it. The new option `magit-clone-set-remote-head' can be set to `t' to go back to keeping that symbolic-ref. We default to removing it, because it does not actually get automatically updated when the HEAD of the remote changes, which makes it rather pointless. * Added new option `magit-prefer-remote-upstream' which controls whether commands which read the upstream or starting-point from the user would rather offer a local or a remote branch as default completion candidate. * Added the switch `--cover-letter' to `magit-patch-popup', and taught `magit-format-patch' to immediately open the letter in a buffer. * Added new option `++order' to the various log popups. This option and its value are converted to `--VALUE-order' before calling `git'. This option was added instead of the switches `--author-date-order', `--date-order', and `--topo-order' because adding all three would be too noisy and because they are mutually exclusive.
详情请看:2.5.0.txt
Magit 是 Git 版本控制系统的接口,作为一个 Emacs 包实现的。它封装了绝大多数 Git 命令,可直接在 Emacs 编辑器中使用。