1. 17 Jan, 2018 1 commit
  2. 07 Jan, 2018 1 commit
  3. 17 Dec, 2017 1 commit
  4. 07 Dec, 2017 1 commit
  5. 06 Dec, 2017 1 commit
  6. 02 Dec, 2017 1 commit
  7. 01 Dec, 2017 1 commit
  8. 27 Nov, 2017 1 commit
    • Jonas Bernoulli's avatar
      Silence byte-compiler · 64be29ba
      Jonas Bernoulli authored
      Due to some recent change on Emacs' emacs-26 branch the byte-compiler
      started complaining that the "Lexical argument shadows the dynamic
      variable values".  That's a bit annoying - it is quite reasonable to
      have functions that take an argument named `values'.  Work around this
      by naming those arguments `values*' instead, but make sure the
      doc-strings still refer to `values'.
      64be29ba
  9. 23 Nov, 2017 3 commits
    • Jonas Bernoulli's avatar
      magit-git-dir: don't prepend host if it is already there · aa0f1864
      Jonas Bernoulli authored
      The fix in 201d46cf wasn't correct.
      It fixed one case at the cost of another.
      
      Closes #3283.
      aa0f1864
    • 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
    • Jonas Bernoulli's avatar
      magit-merge-commit-p: new function · 203db8ee
      Jonas Bernoulli authored
      203db8ee
  10. 22 Nov, 2017 1 commit
  11. 21 Nov, 2017 8 commits
  12. 20 Nov, 2017 2 commits
    • Noam Postavsky's avatar
      Fix encoding of data and args for git subprocess on w32 · 2bb9f281
      Noam Postavsky authored
      On windows-nt systems, the arguments to subprocesses must be encoded
      in the current code-page.  But Windows git requires UTF-8 encoded
      input.  The contradictory requirements mean we can't just set
      default-process-coding-system to the right thing.  Therefore,
      explicitly encode the arguments according to `w32-ansi-code-page',
      and likewise encode input sent to git as `utf-8-unix'.
      
      See #3250.
      2bb9f281
    • Jonas Bernoulli's avatar
      magit-git-insert: fix regression · 367d3449
      Jonas Bernoulli authored
      f36ab764 did replace `magit-process-error-message-re'
      with `magit-process-message-regexps', but did not adapt
      the use in `magit-git-insert'.
      
      Closes #3272.
      367d3449
  13. 17 Nov, 2017 2 commits
  14. 16 Nov, 2017 1 commit
    • Kyle Meyer's avatar
      magit-ref-namespaces: fix magit-refname regexp · 7b0bda76
      Kyle Meyer authored
      The fallthrough regexp is "\\'\\(.+\\)" as of
      e0af5b39 (magit-ref-namespaces: improve regexps, 2017-11-15), but this
      will always return nil, leading to an error when a refname doesn't
      match any of the preceding regexps.  Replace "\\'" with "\\`", which
      was presumably the intended change in e0af5b39.
      7b0bda76
  15. 15 Nov, 2017 4 commits
    • Jonas Bernoulli's avatar
      Combine related refs when displaying them in logs · d87e0c6a
      Jonas Bernoulli authored
      For example, when the push-target of a local branch BRANCH
      is REMOTE/BRANCH, then display REMOTE/BRANCH
                                     [green][blue]
      instead of BRANCH REMOTE/BRANCH
                 [blue] [green------]
      
      That does not only preserve space, it also informs the user
      that REMOTE/BRANCH is the push-target of BRANCH.
      
      If a remote branch is that remote's HEAD, then put a box
      around it, like it was already done for the local HEAD.
      
      Order the refs by type: bisect state, current branch, tags,
      local branches, remote branches, other refs
      
      Closes #2923.
      d87e0c6a
    • Jonas Bernoulli's avatar
      magit-ref-namespaces: improve regexps · e0af5b39
      Jonas Bernoulli authored
      e0af5b39
    • Jonas Bernoulli's avatar
      magit-ref-namespaces: drop support for formatter functions · de412d73
      Jonas Bernoulli authored
      Magit didn't use this, I could not find a third-party package
      that uses it, and keeping it for backward compatibility would
      make upcoming refactoring harder.
      
      Package `magit-stgit', the only package which adds an entry,
      will have to be modified.
      de412d73
    • Jonas Bernoulli's avatar
      magit-ref-namespaces: demote to variable · 7e9fc53c
      Jonas Bernoulli authored
      This should not have been defined as an user option because things
      break if it is modified to heavily.  The only safe modification is
      to add a new namespace and that's something a package author should
      to using `add-to-list', not the user using the Custom interface.
      7e9fc53c
  16. 12 Nov, 2017 2 commits
  17. 09 Nov, 2017 4 commits
  18. 08 Nov, 2017 2 commits
  19. 03 Nov, 2017 2 commits
  20. 02 Nov, 2017 1 commit
    • Jonas Bernoulli's avatar
      Support one-section magit-selections · 115041d4
      Jonas Bernoulli authored
      For a long time Magit supported selecting two or more sibling sections
      using the region and then acting on that selection instead of only on
      the current section.  Single-section selections were not supported and
      a region that did not span multiple siblings was not visualized as a
      selection, instead the underlying region was visualized as it is in
      non-magit buffers.
      
      The change users will notice first is that when they press C-SPC to
      set the beginning of the region/magit-selection on a section heading,
      then the magit-selection is visualized.  Previously not even the
      region was shown after just pressing C-SPC, because the mark and the
      point were identical, so there was no non-empty region to visualize.
      
      For the time being most commands continue to behave exactly as before
      when there is a one-section selection: the act on the current section
      instead.  While a one-section selection is a selection that contains
      nothing but the current section, this difference between the current
      section and a set consisting of only the current section is still
      relevant.  It affects whether and how commands ask for confirmation
      and/or offer the user to act on something else instead.
      
      The reason I decided against supporting one-section selections in the
      past is that it is a bit unfortunate to visualize the selection and
      then the invoked command does not actually use it.  But this is no
      different from a multi-section selection being visualized and then
      invoking a command that isn't magit-selection aware at all.  Or from
      having the region visualized in any Emacs buffer and then invoking any
      command that doesn't behave differently when the region is active.
      
      Beginning with this commit only a handful of commands begin using a
      one-section selection.  Most importantly, and this is what motivated
      this change, it is now possible to use `magit-branch-spinoff' after
      selecting just HEAD to create a new branch rewinding the previously
      current branch by a single commit.  Previously it was only possible
      to rewind it to its upstream or to rewind it by at least two commits.
      
      The other commands that respect one-section selections are:
      - magit-am-apply-patches
      - magit-cherry-apply
      - magit-cherry-pick
      - magit-revert
      - magit-revert-no-commit
      - magit-stash-drop
      - magit-tag-delete
      
      The recently added commands `magit-previous-line' and
      `magit-next-line' now forgo moving on the first shift-selection move
      when point is on a section heading, not just when inside a hunk body.
      
      Closes #2920.
      Closes #3026.
      115041d4