1. 14 May, 2018 1 commit
    • Jonas Bernoulli's avatar
      Fix remembering whether user confirmed editing published commits · a2e1139c
      Jonas Bernoulli authored
      We now use a variable to remember whether the user already confirmed
      that s/he wants to edit published commits when initiating the rebase
      so that s/he won't be asked again when there are staged changes when
      continuing the rebase.  Previously we tried to use a file in the
      control directory used by Git, but that directory does not exist at
      the time we need to remember and if we create it ourselves, then Git
      trips over it.
      
      Fixes #3447.
      a2e1139c
  2. 12 May, 2018 2 commits
  3. 12 Feb, 2018 5 commits
  4. 11 Feb, 2018 1 commit
  5. 08 Feb, 2018 1 commit
  6. 02 Feb, 2018 1 commit
  7. 18 Jan, 2018 2 commits
  8. 07 Jan, 2018 1 commit
  9. 01 Dec, 2017 1 commit
  10. 23 Nov, 2017 2 commits
    • Jonas Bernoulli's avatar
      magit-cherry-{pick,apply}: improve documentation · ae3b6650
      Jonas Bernoulli authored
      Also rename an argument accordingly.
      ae3b6650
    • Jonas Bernoulli's avatar
      Properly deal with merges when cherry-picking · 1b7fe05d
      Jonas Bernoulli authored
      Change all commands which cherry-pick and revert commits to use the
      new function `magit--cherry-pick'.  Previously all of these functions
      used `magit-assert-one-parent' to deal with merges among the commits
      to be applied.  But that function wasn't adequate and this commit
      removes it.
      
      It is not possible to apply merges and non-merges at once, because
      `--mainline' must be provided for merges while its use causes an error
      for non-merges.  In that case aborting is the only choice.
      
      But otherwise add or remove the `--mainline' as appropriate.  When
      `--mainline' is added, then ask the user for the parent number, when
      it is removed, then do so without prompting.  This makes it possible
      for users to use `--mainline=1' (which is the most reasonable choice
      for most merges) by default without getting an error when applying
      non-merges.
      
      Closes #2980.
      1b7fe05d
  11. 06 Nov, 2017 1 commit
    • Noam Postavsky's avatar
      magit-sequence-insert-am-patch: show title · df535475
      Noam Postavsky authored
      Previously, when a 'git am' invocation failed (e.g., if the patch was
      corrupted by line wrapping), magit would show the unapplied patch as
      just "0001".  Try to show a title as well, based on the text following
      "Subject:" header, or just the first line otherwise.
      
      Before:
      
      Applying patches
      stop 0001
      onto de8c782f34 Only match password prompts in part of line (Bug#28329)
      
      After:
      
      Applying patches
      stop 0001 bug#28308: Build failure on FreeBSD/aarch64
      onto de8c782f34 Only match password prompts in part of line (Bug#28329)
      df535475
  12. 03 Nov, 2017 1 commit
    • Jonas Bernoulli's avatar
      magit-revert-popup: default to edit message on all platforms · d31895ca
      Jonas Bernoulli authored
      `git-revert' defaults to let the user edit the commit message if and
      only if it is run "from a terminal".  Magit uses a pty in most cases
      but not on Cygwin, so here the behavior differs between platforms.
      
      Add the `--edit' argument to the popup and enable it by default for
      consistent behavior.  Also add the `--no-edit' argument.  It would be
      better to have a single `--[no-]edit' argument, but the current popup
      implementation does not support that.
      
      Closes #3239.
      d31895ca
  13. 22 Oct, 2017 1 commit
    • Jonas Bernoulli's avatar
      rebase: also show exec actions · a561a4e2
      Jonas Bernoulli authored
      Make those actions child sections of the respective commit section to
      keep it possible to select neighboring commits and to allow hiding the
      exec actions.
      
      Closes #3003.
      a561a4e2
  14. 21 Oct, 2017 1 commit
  15. 20 Oct, 2017 2 commits
  16. 11 Oct, 2017 1 commit
  17. 09 Aug, 2017 1 commit
    • Kyle Meyer's avatar
      magit-rebase-popup: add --no-verify switch · ad361010
      Kyle Meyer authored
      The --no-verify option is available for three git commands: push,
      commit, and rebase.  The push and commit popup include --no-verify;
      let's add it to the rebase popup as well.
      
      Closes #3142.
      ad361010
  18. 10 Jun, 2017 1 commit
  19. 17 Apr, 2017 1 commit
  20. 11 Mar, 2017 1 commit
    • Kyle Meyer's avatar
      magit-rebase-popup: make a lie true · eb4258ea
      Kyle Meyer authored
      The --committer-date-is-author-date flag for "git rebase" (passed to
      "git am") results in the committer dates of the rebased commits being
      set to the commits' author dates rather than the current time.  So
      it's the committer date, not the author date, that is being
      manipulated and lied about.
      eb4258ea
  21. 08 Mar, 2017 2 commits
    • Jonas Bernoulli's avatar
      magit-rebase-subset: fix doc-string typo · 9b875ade
      Jonas Bernoulli authored
      9b875ade
    • Jonas Bernoulli's avatar
      magit-rebase: fix doc-string typo · 2ab4f4ee
      Jonas Bernoulli authored
      In the doc-strings of Emacs functions the names of arguments are
      written in uppercase.  In Git documentation one writes the HEAD.
      When we talk about the HEAD in Elisp doc-strings then we should
      write `HEAD', unless we are actually referring to an argument
      named HEAD.  This is consistent with how one refers to any
      `variable' in a doc-string.
      
      There are probably quite a few cases where we *don't* do that, feel
      free do go looking for them.  This particular instance is being fixed
      on the occasion of a user changing one head to HEAD and one `HEAD' to
      HEAD, when `HEAD' would have been correct in both cases.
      2ab4f4ee
  22. 25 Feb, 2017 1 commit
    • Kyle Meyer's avatar
      magit-rebase-insert-merge-sequence: filter out exec lines · 394abb38
      Kyle Meyer authored
      When we collect lines from git-rebase-todo, we look for the pattern
      "action hash message".  However, exec lines match this pattern if the
      command consists of more than one word (or rather one word and a
      trailing space), in which case the first word of the command is passed
      as the hash to magit-sequence-insert-commit, leading to a type error
      because magit-format-rev-summary returns nil for a non-existing
      revision.
      
      To avoid this, check that the action is not "exec" before trying to
      insert the commit.  In the future, we may want to add special handling
      of exec lines in order to include them in the status buffer.
      
      Fixes #3002.
      394abb38
  23. 01 Feb, 2017 1 commit
  24. 04 Jan, 2017 2 commits
  25. 27 Dec, 2016 1 commit
  26. 26 Dec, 2016 2 commits
  27. 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
  28. 19 Dec, 2016 1 commit
  29. 02 Dec, 2016 1 commit
    • Jonas Bernoulli's avatar
      magit-with-temp-index: inhibit use of the refresh cache · 1523de91
      Jonas Bernoulli authored
      BODY may contain calls to git that are identical to outside calls
      during the same refresh, but which are expected to return a different
      value due to the sue of a different index.
      
      Do the same in `magit-sequence-insert-sequence' around the calls to
      `magit-commit-tree' and `magit-commit-worktree'.  This isn't required
      at present, but if other places start calling `magit-commit-tree'
      during a refresh and outside of `magit-with-temp-index', then this
      would become necessary.
      
      Re #2883.
      1523de91