Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auto-evilification broken on latest magit #11978

Closed
axelson opened this issue Feb 15, 2019 · 11 comments
Closed

auto-evilification broken on latest magit #11978

axelson opened this issue Feb 15, 2019 · 11 comments

Comments

@axelson
Copy link
Contributor

axelson commented Feb 15, 2019

None of the normal spacemacs magit keybindings are working on the latest magit. I'm pretty sure that it's due to this PR that landed today: magit/magit#3728

It changes from magit-popup to transient.

@bmag
Copy link
Collaborator

bmag commented Feb 15, 2019

We use evil-magit for those keybindings, but it isn't updated for Transient yet, see upstream issue emacs-evil/evil-magit#61.

In the meantime you can add evil-magit to dotspacemacs-excluded-packages in your dotspacemacs file and live with the non-evil bindings, or rollback the package update to return to an older version of Magit.

As a side note, please read our "How to make a great bug report". If the bug wasn't so obvious, it would have been hard to figure out the problem ("broken" and "not working" only tells me there's a problem, but I usually need to know the symptoms of the problem). Kudos for the relevant links, though.

@axelson
Copy link
Contributor Author

axelson commented Feb 15, 2019

Thanks, noted for next time!

@yuhan0
Copy link
Contributor

yuhan0 commented Feb 15, 2019

Looks like Doom just pushed a commit to pin the magit version in the meantime: doomemacs/doomemacs@33ef903, perhaps Spacemacs should do the same? It's a pretty big breaking change and the fixes to evil-magit seem to be non-trivial and might take a while to sort out.

(PS. thanks for the issue labels, that really needs to be a more common practice around here!)

@bmag
Copy link
Collaborator

bmag commented Feb 15, 2019

@yuhan0 I thought about pinning in a similar way, but I believe we'd also need to pin Magit's several dependencies to avoid other possible issues. I'd rather fix evil-magit than do that legwork, frankly.

@Silex
Copy link

Silex commented Feb 15, 2019

@duianto
Copy link
Collaborator

duianto commented Feb 15, 2019

Searching SPC / for magit.*popup in .emacs.d (spacemacs develop branch) finds these entries:


Search at ~/.emacs.d/
CHANGELOG.develop:1219:22:  - ~SPC g f d~ for =magit-diff-buffer-file-popup= (thanks to Ag Ibragimov)
CHANGELOG.develop:1227:11:- Change =magit-svn-popup= keybinding to =~= (thanks to hornuda)
CHANGELOG.org:1715:36:+ Revamp key bindings to leverage =Magit= dispatch popup and free up some keys
CHANGELOG.org:1718:17:    - ~SPC g >~ magit-submodule-popup
CHANGELOG.org:1719:17:    - ~SPC g A~ magit-cherry-pick-popup
CHANGELOG.org:1720:17:    - ~SPC g c~ magit-commit-popup
CHANGELOG.org:1722:17:    - ~SPC g d~ magit-diff-popup
CHANGELOG.org:1726:17:    - ~SPC g f~ magit-fetch-popup
CHANGELOG.org:1727:17:    - ~SPC g F~ magit-pull-popup
CHANGELOG.org:1729:17:    - ~SPC g l~ magit-log-popup
CHANGELOG.org:1731:17:    - ~SPC g r~ magit-rebase-popup
CHANGELOG.org:1732:17:    - ~SPC g P~ magit-push-popup
CHANGELOG.org:1734:17:    - ~SPC g x~ magit-reset-popup
CHANGELOG.org:1736:21:    displaying the =Magit= dispatch popup
CHANGELOG.org:3059:33:- Redefine key bindings to user Magit popups whenever it is possible
CHANGELOG.org:3865:28:- Add ~#f~ key binding in =magit-status= for =magit-gitflow-popup= (thanks to
layers/+intl/keyboard-layout/packages.el:401:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?t ?j)
layers/+intl/keyboard-layout/packages.el:402:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?s ?k)
layers/+intl/keyboard-layout/packages.el:403:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?S ?K))
layers/+source-control/git/packages.el:160:16:        "gfd" 'magit-diff-buffer-file-popup
layers/+source-control/git/packages.el:163:16:        "gm"  'magit-dispatch-popup
layers/+source-control/git/packages.el:222:27:              (define-key magit-mode-map "%" 'magit-gitflow-popup)))
layers/+source-control/git/packages.el:232:27:              (define-key magit-mode-map "~" 'magit-svn-popup))))
layers/+source-control/git/README.org:64:15:Press ~!~ in *Magit* buffer to open the magit-svn-popup.
layers/+source-control/git/README.org:77:22:| ~~~         | open magit-svn-popup |
layers/+source-control/git/README.org:122:17:| ~SPC g m~   | magit dispatch popup                                |
layers/+source-control/github/packages.el:95:19:      (define-key magit-status-mode-map "@" #'magithub-dispatch-popup))))
layers/+source-control/github/README.org:57:6:the =magit status= buffer (~SPC g s~) and then open the Magithub settings popup
layers/+source-control/github/README.org:82:26:| ~@ C~       | open the Magithub settings popup                 |
layers/+source-control/version-control/keybindings.el:24:8:  ("d" magit-ediff-popup :exit t)
layers/+source-control/version-control/keybindings.el:26:8:  ("F" magit-pull-popup :exit t)
layers/+source-control/version-control/keybindings.el:27:8:  ("P" magit-push-popup :exit t)
layers/+source-control/version-control/keybindings.el:28:8:  ("c" magit-commit-popup :exit t)
layers/+source-control/version-control/keybindings.el:29:8:  ("f" magit-fetch-popup :exit t)
layers/+source-control/version-control/keybindings.el:30:8:  ("l" magit-log-popup :exit t)

@syl20bnr
Copy link
Owner

evil-magit fix for the loading issue has been pushed a few hours ago and should be available soon. It won't fix the popups documentation.

@bmag
Copy link
Collaborator

bmag commented Feb 15, 2019

In Spacemacs, we need to apply these changes: (I'll work on a PR)

layers/+intl/keyboard-layout/packages.el:401:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?t ?j)
layers/+intl/keyboard-layout/packages.el:402:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?s ?k)
layers/+intl/keyboard-layout/packages.el:403:8:      (magit-change-popup-key 'magit-dispatch-popup :actions ?S ?K))

remove -popup suffix, replace magit-change-popup-key with transient-suffix-put

layers/+source-control/git/packages.el:160:16:        "gfd" 'magit-diff-buffer-file-popup
layers/+source-control/git/packages.el:163:16:        "gm"  'magit-dispatch-popup

remove -popup suffix, but need to verify that magit-diff-buffer-file does the same as magit-diff-buffer-file-popup.

layers/+source-control/git/packages.el:222:27:              (define-key magit-mode-map "%" 'magit-gitflow-popup)))
layers/+source-control/git/packages.el:232:27:              (define-key magit-mode-map "~" 'magit-svn-popup))))
layers/+source-control/github/packages.el:95:19:      (define-key magit-status-mode-map "@" #'magithub-dispatch-popup))))

need to check how magit-gitflow, magit-svn and magithub handle Transient.

layers/+source-control/version-control/keybindings.el:24:8:  ("d" magit-ediff-popup :exit t)
layers/+source-control/version-control/keybindings.el:26:8:  ("F" magit-pull-popup :exit t)
layers/+source-control/version-control/keybindings.el:27:8:  ("P" magit-push-popup :exit t)
layers/+source-control/version-control/keybindings.el:28:8:  ("c" magit-commit-popup :exit t)
layers/+source-control/version-control/keybindings.el:29:8:  ("f" magit-fetch-popup :exit t)
layers/+source-control/version-control/keybindings.el:30:8:  ("l" magit-log-popup :exit t)

remove -popup suffix

@bmag
Copy link
Collaborator

bmag commented Feb 15, 2019

Here's the PR: #11983

@bmag
Copy link
Collaborator

bmag commented Feb 19, 2019

Latest develop branch with latest magit and magit-related packages now work, it is safe to update.

@axelson
Copy link
Contributor Author

axelson commented Feb 19, 2019

Awesome thanks, updated to the latest releases and everything is now working for me so I am closing the issue 🎉

@axelson axelson closed this as completed Feb 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants