1. 17 Jan, 2018 1 commit
  2. 15 Jan, 2018 1 commit
    • Jonas Bernoulli's avatar
      Preserve visibility cache when killing buffers · 32c731ba
      Jonas Bernoulli authored
      The section visibility cache is stored in a buffer-local value.
      For `magit-status-mode' and `magit-refs-mode' preserve that value
      using a repository-local value when killing the buffer and restore
      the buffer-local value when recreating the buffer.
      
      Other modes are not supported because they contain no sections that
      benefit from the visibility cache and/or because it is possible for
      multiple buffers with that mode to exist per repository.
      32c731ba
  3. 10 Jan, 2018 1 commit
  4. 07 Jan, 2018 1 commit
  5. 14 Dec, 2017 1 commit
  6. 13 Dec, 2017 2 commits
  7. 16 Nov, 2017 1 commit
    • Jonas Bernoulli's avatar
      refs: preserve cherry-less, expanded sections on refresh · acc4ab00
      Jonas Bernoulli authored
      Expanding a cherry-less section results in an empty body.  Normally,
      during refresh, an empty body causes the section to be removed by
      `magit-cancel-section' (in this case called by `magit-git-wash'), but
      because inserting the body is delayed in this case (for performance
      reasons) until it is expanded `magit-insert-section--current' is nil
      at the time this happens, which causes `magit-cancel-section' to do
      nothing.
      
      That's actually what we want, but that wasn't by design.  However when
      the user then refreshes the buffer, the section remains expanded and
      because it is being recreated during a refresh `magit-cancel-section'
      does its job.
      
      Prevent that by binding `magit-insert-section--current' to nil while
      calling `magit-git-wash'.
      
      Fixes #3267.
      acc4ab00
  8. 29 Oct, 2017 2 commits
    • Jonas Bernoulli's avatar
      magit-visit-ref: offer plain checkout in addition to reset · a12cdfcf
      Jonas Bernoulli authored
      When `create-branch' is a member of `magit-visit-ref-behavior' then
      "visiting" a remote branch causes the creation and checkout of a local
      branch by the same name.  If the local branch already exists, then the
      user was offered to reset it to the current tip of the remote branch.
      
      Now the user can also choose to check it out as-is, and when both tips
      are the same commit, then the local branch is checked out without the
      user having to confirm that.
      
      Closes #3009.
      a12cdfcf
    • Jonas Bernoulli's avatar
      magit-visit-ref: drop prefix before calling magit-show-commit · ae1bc41f
      Jonas Bernoulli authored
      Unless `focus-on-ref' is a member of `magit-visit-ref-behavior', the
      prefix argument was simply passed along to `magit-show-commit', which
      was inconvenient because that then prompted for the commit to show
      instead of just showing the commit at point (tag or tip of branch).
      
      Now we drop the prefix argument before calling `magit-show-commit',
      but only if that command would not have been called without a prefix
      argument anyway.
      
      Closes #3009.
      ae1bc41f
  9. 16 Oct, 2017 2 commits
    • Kyle Meyer's avatar
      magit-insert-local-branches: remove detached head check · b4038b74
      Kyle Meyer authored
      In 2360d5b4, we switched to using "git for-each-ref --format ..."
      instead of "git branch --format ..." for compatibility with Git
      versions earlier than 2.13.  The only visible difference in the output
      is that, when HEAD is detached, there is no longer a "(HEAD detached
      at ...)" line.  Remove the leftover check for this line.
      b4038b74
    • Kyle Meyer's avatar
      magit-insert-local-branches: don't use ":track,nobracket" · 5c7ad029
      Kyle Meyer authored
      9cac1f53 changed magit-insert-local-branches to use the
      %(upstream:track,nobracket) field, but this field wasn't added to Git
      until 2.13 (7743fcca5).  For compatibility with older Git versions,
      use %(upstream:track) instead and manually strip the brackets.
      
      Together with the "git branch --format" to "git for-each-ref --format"
      change in 2360d5b4, magit-insert-local-branches should now be
      compatible with the minimum Git version that we support.
      
      Really fixes #3203.
      5c7ad029
  10. 14 Oct, 2017 2 commits
    • Kyle Meyer's avatar
      magit-insert-{local,remote}-branches: use for-each-ref · 2360d5b4
      Kyle Meyer authored
      9cac1f53 (magit-insert-{local,remote}-branches: use NUL separated
      fields, 2017-10-11) breaks magit-show-refs because "git branch" does
      not support the --format option in Git versions earlier than 2.13.
      
      for-each-ref is almost as a drop-in replacement.  The only discrepancy
      I've noticed is that the local refs do not include an entry for a
      detached head.  At first glance, I don't see an issue with dropping
      this because the buffer is about listing refs, and while there now no
      longer is a line beginning with "@" when head is detached, the user
      can still see in the header-line what commit the branches are being
      compared too.
      
      Fixes #3203.
      2360d5b4
    • Alexander Gramiak's avatar
      Align header-line contents with the text area · 2622abfa
      Alexander Gramiak authored
      A space is not a robust alignment; the left fringe may not be the same pixel
      width as a space, and there may not even be a fringe present (e.g., terminal
      Emacs).
      
      Extract setting header-line-format functionality into a new procedure and use it
      in all cases.
      
      Closes #3194.
      2622abfa
  11. 11 Oct, 2017 11 commits
  12. 04 Oct, 2017 4 commits
  13. 03 Oct, 2017 1 commit
  14. 08 Sep, 2017 1 commit
  15. 02 Aug, 2017 1 commit
  16. 11 Jul, 2017 1 commit
    • Yuri Khan's avatar
      Add bookmark support [#1639] · 58474324
      Yuri Khan authored
      Theory of operation:
      
      * When the user requests a bookmark for the current buffer and it’s in
        one of the supported modes, our ‘*-make-record function’ will be
        called.
      
      * It will create a bookmark record using the default function, set its
        ‘filename’ property to the root of the current repository, ‘handler’
        to the corresponding ‘*-jump’ function, and various ‘magit-*’
        properties to parts of ‘magit-refresh-args’.
      
      * When the bookmark is activated, it is passed to its recorded handler
        function, which feeds the saved ‘magit-*’ properties into the
        relevant Magit command and restores the position in buffer.
      
      * The handler functions are marked autoload so that they pull us in
        when the user activates a bookmark even if neither ‘magit-bookmark.el’
        nor ‘magit.el’ have been loaded yet.
      
      * Otherwise, we get loaded after both ‘magit.el’ and ‘bookmark.el’ are
        loaded, which is the necessary condition for the user to start
        creating bookmarks.
      58474324
  17. 29 May, 2017 1 commit
  18. 06 May, 2017 1 commit
  19. 12 Mar, 2017 1 commit
  20. 11 Mar, 2017 1 commit
  21. 13 Feb, 2017 1 commit
  22. 20 Jan, 2017 1 commit
  23. 04 Jan, 2017 1 commit