1. 07 Oct, 2017 1 commit
  2. 09 Aug, 2017 1 commit
  3. 11 Jul, 2017 1 commit
    • Kyle Meyer's avatar
      magit-commit-popup: add custom reader for --reuse-message · 9eb60c0c
      Kyle Meyer authored
      As mentioned in git-reset's manpage, ORIG_HEAD can be useful for
      undoing a commit and reusing its message (though there are of course
      other ways to do this).  Define a reader for the --reuse-message
      option that offers ORIG_HEAD as the default value when it exists.
      
      Also, prompt with all ref names.  If these aren't useful for the given
      situation, the user can ignore them and enter an arbitrary value.
      
      Closes #3110.
      9eb60c0c
  4. 10 Jun, 2017 1 commit
  5. 12 Mar, 2017 1 commit
  6. 05 Feb, 2017 1 commit
  7. 19 Jan, 2017 1 commit
    • Jonas Bernoulli's avatar
      While committing, diff from inside gitdir if necessary · 9e0e2a24
      Jonas Bernoulli authored
      If a repository is created using `git init --separate-git-dir', then
      that does not set `core.worktree' (unlike what `git submodule' does).
      
      When committing inside such a repository `magit-commit-diff' is run
      inside the gitdir, and there is no way to prevent that.  Luckily `git
      diff' also works inside the gitdir, but because many other commands
      don't, we always run everything in the working tree.
      
      This is fairly deeply ingrained, so we have to add a kludge to
      `magit-toplevel', that causes it to return the gitdir instead,
      and that is triggered by dynamically binding the new variable
      `magit-toplevel--force-fallback-to-gitdir' to a non-nil value.
      
      And `magit-commit-diff' now does so to fix #2955.
      9e0e2a24
  8. 04 Jan, 2017 1 commit
  9. 29 Dec, 2016 3 commits
  10. 27 Dec, 2016 1 commit
  11. 22 Dec, 2016 1 commit
    • Jonas Bernoulli's avatar
      Place magit-{*}-arguments in new magit-git-arguments group · 33c5c1ca
      Jonas Bernoulli authored
      Most options named `magit-TOPIC-arguments' specify the arguments
      that are enabled by default in the respective `magit-TOPIC-popup'.
      Previously most of these options were placed in the `magit-commands'
      Custom group, which made that group rather noisy.  A few were placed
      in others group, which was inconsistent and in most cases an oversight.
      
      To avoid having to specify the group for each and every popup defined
      in Magit and in third-party extensions that share the "magit-" prefix,
      teach `magit-define-popup' to use `magit-git-arguments' if GROUP isn't
      specified and NAME does begin with "magit-".
      
      Also place `magit-git-global-arguments' into this group.  Remove it
      from `magit', but keep it in `magit-process' as before.
      33c5c1ca
  12. 20 Nov, 2016 1 commit
  13. 08 Oct, 2016 1 commit
  14. 24 Sep, 2016 1 commit
  15. 07 Sep, 2016 1 commit
  16. 11 May, 2016 1 commit
    • Jonas Bernoulli's avatar
      magit-commit-diff: make sure diff buffer doesn't replace message buffer · c1e0de86
      Jonas Bernoulli authored
      When the window that just began displaying the commit buffer previously
      displayed the diff buffer, then displaying that buffer again would
      likely be done by displayed in that same window, causing the commit
      message buffer would no longer be displayed anywhere.  Prevent that by
      removing the diff buffer from the window's list of previously displayed
      buffers.
      
      Also remove the kludge in `magit-display-buffer-traditionally', which
      was also supposed to deal with this issue.
      c1e0de86
  17. 21 Apr, 2016 1 commit
    • Jonas Bernoulli's avatar
      magit-commit-squash-internal: commit synchronously before rebase · f6601b3c
      Jonas Bernoulli authored
      Previously it was possible for the commit process to still hold the lock
      on index.lock, when the rebase process was trying to acquire it.  Now we
      run the commit process synchronously if we are going to also rebase, and
      we also forgo refreshing between the two processes.  If we don't rebase,
      then still commit asynchronously and refresh.
      f6601b3c
  18. 02 Mar, 2016 2 commits
  19. 23 Feb, 2016 2 commits
  20. 19 Feb, 2016 1 commit
  21. 14 Feb, 2016 1 commit
    • Jonas Bernoulli's avatar
      magit-commit-diff: allow local quit to terminate diffing · 4a30fd88
      Jonas Bernoulli authored
      without also aborting the commit.  This is useful when committing
      unusually large changes.  Quitting causes the diff buffer to be
      partially unwashed.
      
      Do not use `with-local-quit' because that would be propagated to
      the `with-local-quit' in `server-execute', which would cause the
      commit to be aborted instead of just the diffing.
      4a30fd88
  22. 01 Jan, 2016 1 commit
  23. 08 Dec, 2015 3 commits
  24. 11 Nov, 2015 1 commit
  25. 13 Oct, 2015 2 commits
    • Jonas Bernoulli's avatar
      respect popup arguments when creating a fixup commit · 861abc0b
      Jonas Bernoulli authored
      Fixes #2339.
      861abc0b
    • Jonas Bernoulli's avatar
      magit-commit-show-diff: new option · 112b0eb0
      Jonas Bernoulli authored
      Add new option `magit-commit-show-diff' to control whether a diff for
      the relevant changes is shown while.  A value of `t' has the same effect
      as `commit' and `log-select' being members of `magit-diff-auto-show' had.
      
      Also add a third value, `verbose', to the option `magit-commit-ask-stage',
      as a subsitute for the old `magit-commit-show-diff' member `stage-all'.
      112b0eb0
  26. 08 Oct, 2015 1 commit
    • Jonas Bernoulli's avatar
      concentrate display-buffer logic in one place · 9eb318b0
      Jonas Bernoulli authored
      Use low-level `display-buffer' instead of high-level buffer switching
      functions.  In combination with other changes described below, this
      gives users complete control over how buffers are to be displayed,
      without having to fight against hard-coded defaults.
      
      Instead of hard-coding the rules that govern how windows are selected to
      display certain buffers, define them in one place.  The existing rules
      are collected in the new function `magit-display-buffer-traditional'.
      
      That function is the default value of the new option
      `magit-display-buffer-function', which specifies the function used by
      `magit-display-buffer' to actually display the buffer.
      
      All Magit buffers are displayed using `magit-display-buffer', which is
      called by `magit-mode-setup' and `magit-process-buffer'.  Together these
      two functions are responsible for the creation of each and every Magit
      buffer.  `magit-display-buffer' should never called directly by anything
      else. (Popup buffers are not Magit buffers, their major-mode does not
      derived from `magit-mode'.)
      
      Unlike `display-buffer', `magit-display-buffer' also selects the window,
      unless the new variable `magit-display-buffer-noselect' is let-bound to
      a non-nil value.  This variable is only intended for special cases.
      
      Two options, and therefore quick ways of customizing the behavior, fall
      victim to this change: `magit-status-buffer-switch-function' and
      `magit-diff-switch-buffer-function'.  We cannot preserve these options
      and use them in `magit-display-buffer-traditional' because they were
      used to specify arbitrary high-level buffer switching functions, which
      we cannot simply map to low-level display actions.
      9eb318b0
  27. 30 Sep, 2015 1 commit
  28. 28 Sep, 2015 1 commit
  29. 21 Sep, 2015 1 commit
    • Jonas Bernoulli's avatar
      server-switch-buffer(with-editor): save window configuration · 38737f47
      Jonas Bernoulli authored
      Save the window configuration in the `with-editor' advice to
      `server-switch-buffer', but only if `with-editor-mode' is enabled.
      
      Previously saving the window configuration was left to callers, but
      by the time they got a change to do so, it was already to late, as
      the client buffer was already being displayed.  Also we only did
      this for committing but not rebasing.
      
      Fixes #2273.
      38737f47
  30. 18 Sep, 2015 1 commit
    • Kyle Meyer's avatar
      magit-commit-diff: respect diff arguments · a2c7aff1
      Kyle Meyer authored
      If the diff arguments aren't passed, the return value of
      magit-diff-arguments is unintentionally affected in future calls.  For
      example, even if the magit-diff-arguments return value included --stat
      before the commit, a revision buffer created after a magit-commit-diff
      call will not have a diffstat section (assuming the diff buffer is still
      around and the arguments haven't been explicitly changed since the
      commit).
      
      Drop file restrictions so that the commit diff always shows the full set
      of changes.  The act of committing probably shouldn't reset file
      restrictions that would otherwise be carried over between non-commit
      diff calls, but this was already the situation before this change, and
      it seems better than limiting the commit diff to a set a files from a
      previous diff, which is unlikely to be what the user intended.
      a2c7aff1
  31. 16 Sep, 2015 1 commit
  32. 09 Sep, 2015 2 commits