{"action":"created","issue":{"url":"https://api.github.com/repos/magit/git-modes/issues/117","labels_url":"https://api.github.com/repos/magit/git-modes/issues/117/labels{/name}","comments_url":"https://api.github.com/repos/magit/git-modes/issues/117/comments","events_url":"https://api.github.com/repos/magit/git-modes/issues/117/events","html_url":"https://github.com/magit/git-modes/issues/117","id":47879947,"number":117,"title":"Merging git-{commit,rebase}-mode and with-editor into Magit","user":{"login":"tarsius","id":25046,"avatar_url":"https://avatars.githubusercontent.com/u/25046?v=3","gravatar_id":"","url":"https://api.github.com/users/tarsius","html_url":"https://github.com/tarsius","followers_url":"https://api.github.com/users/tarsius/followers","following_url":"https://api.github.com/users/tarsius/following{/other_user}","gists_url":"https://api.github.com/users/tarsius/gists{/gist_id}","starred_url":"https://api.github.com/users/tarsius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarsius/subscriptions","organizations_url":"https://api.github.com/users/tarsius/orgs","repos_url":"https://api.github.com/users/tarsius/repos","events_url":"https://api.github.com/users/tarsius/events{/privacy}","received_events_url":"https://api.github.com/users/tarsius/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2014-11-05T19:52:35Z","updated_at":"2015-08-07T15:42:59Z","closed_at":"2014-11-17T21:28:22Z","body":"I intend to move `git-commit-mode`, `git-rebase-mode` and `with-editor` from `magit/git-modes` to `magit/magit`. That will be done in two steps (1) create a branch which removes all other files (2) merge that branch into Magit's `next` branch. Magit's history will then have two root commits.\r\n\r\nWhen I decided to keep `git-commit-mode` inside `git-modes` and even move `magit-rebase-mode` there under its new name `git-rebase-mode` it wasn't obvious yet that the integration between Magit and `git-{commit,rebase}-mode` would increase as much as it did. A lot of that is done using the new library `with-editor` which deals with making the current Emacs instance usable as `$GIT_EDITOR` (which was previously done in Magit) and abstracts code previously duplicated in `git-commit-mode` and `git-rebase-mode`, and improves upon that.\r\n\r\nMagit no longer just binds a few keys to commands from `git-{commit,rebase}-mode`. It is no longer possible to replace these libraries with equivalent third-party libraries (not that any suitable ones ever existed). Also they are mandatory now, not only would one lose major features if they were not present, Magit would not even compile without them.\r\n\r\nThe opposite is not true, `git-commit-mode` and `git-rebase-mode` work just fine without Magit, and I do not intend to change that. `with-editor` does not require Magit or these libraries, in fact it doesn't even care about Git itself.\r\n\r\nSo yes, it was a mistake to have these libraries in a separate repository but having made a mistake shouldn't keep us from fixing it. Doing so will make development easier and it will also make the bug reports stop, that are the result of users forgetting to update `git-modes` when updating `magit`. As more people switch to Magit's `next` branch when it enters the beta phase later this year, such invalid bug reports would rise to an annoying level.\r\n\r\n----\r\n\r\nI am also considering renaming `git-commit-mode.el` to `git-commit.el` and `git-rebase-mode.el` to `git-rebase.el`, as library names are not supposed to end with `-mode`. In the case of `git-commit-mode.el` keeping the old names would be especially strange because `git-commit-mode` now only plays a very marginal role, it's a minor-mode now which is only turned on for its keymap.\r\n\r\n----\r\n\r\nFinally I would like to change the copyright notice in the moved libraries to be like that of other libraries that are already part of `magit/magit` by applying this patch:\r\n\r\n```diff\r\ndiff --git a/git-commit-mode.el b/git-commit-mode.el\r\nindex 7a3dbb6..2ea5047 100644\r\n--- a/git-commit-mode.el\r\n+++ b/git-commit-mode.el\r\n@@ -1,11 +1,13 @@\r\n ;;; git-commit-mode.el --- edit Git commit messages  -*- lexical-binding: t; -*-\r\n \r\n-;; Copyright (c) 2010-2012  Florian Ragwitz\r\n-;; Copyright (c) 2012-2013  Sebastian Wiesner\r\n ;; Copyright (C) 2010-2014  The Magit Project Developers\r\n+;;\r\n+;; For a full list of contributors, see the AUTHORS.md file\r\n+;; at the top-level directory of this distribution and at\r\n+;; https://raw.github.com/magit/magit/master/AUTHORS.md\r\n \r\n ;; Authors: Jonas Bernoulli <jonas@bernoul.li>\r\n ;;     Sebastian Wiesner <lunaryorn@gmail.com>\r\n ;;     Florian Ragwitz <rafl@debian.org>\r\n ;; Maintainer: Jonas Bernoulli <jonas@bernoul.li>\r\n ;; Homepage: https://github.com/magit/git-modes\r\n```\r\n\r\n@lunaryorn and @rafl, are you okay with that?"},"comment":{"url":"https://api.github.com/repos/magit/git-modes/issues/comments/128740553","html_url":"https://github.com/magit/git-modes/issues/117#issuecomment-128740553","issue_url":"https://api.github.com/repos/magit/git-modes/issues/117","id":128740553,"user":{"login":"ceyes","id":1720506,"avatar_url":"https://avatars.githubusercontent.com/u/1720506?v=3","gravatar_id":"","url":"https://api.github.com/users/ceyes","html_url":"https://github.com/ceyes","followers_url":"https://api.github.com/users/ceyes/followers","following_url":"https://api.github.com/users/ceyes/following{/other_user}","gists_url":"https://api.github.com/users/ceyes/gists{/gist_id}","starred_url":"https://api.github.com/users/ceyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ceyes/subscriptions","organizations_url":"https://api.github.com/users/ceyes/orgs","repos_url":"https://api.github.com/users/ceyes/repos","events_url":"https://api.github.com/users/ceyes/events{/privacy}","received_events_url":"https://api.github.com/users/ceyes/received_events","type":"User","site_admin":false},"created_at":"2015-08-07T15:42:59Z","updated_at":"2015-08-07T15:42:59Z","body":"OK, my bad, seems ELPA just install required package but not auto load it.\r\nAfter explicitly setting  `(require 'git-commit)`  in init.el, everything works well. And I can see `Text WE`  in the mode-line.\r\n\r\nThanks!\r\n\r\n"}}