Upgrading to GitLab 12.5.4.

  1. 12 May, 2018 2 commits
  2. 21 Apr, 2018 1 commit
  3. 07 Apr, 2018 1 commit
  4. 02 Apr, 2018 1 commit
  5. 13 Feb, 2018 1 commit
    • Jonas Bernoulli's avatar
      magit-confirm: Simplify · 7648b2e7
      Jonas Bernoulli authored
      Since we are displaying the list of targets right above
      the prompt now anyway, we might as well do it the easy way.
      7648b2e7
  6. 12 Feb, 2018 2 commits
    • Jonas Bernoulli's avatar
      magit-confirm: List targets at bottom of frame · ad4d0036
      Jonas Bernoulli authored
      Also make it more obvious that the list is "part of the question" by
      not separating the list and the question with a mode-line, but make
      sure that there is at least one empty line between the list and the
      prompt. Technically that line may actually be part of the prompt.
      ad4d0036
    • Jonas Bernoulli's avatar
      whitespace-dont-turn-on-in-magit-mode: and maybe don't raise error · d08f91f0
      Jonas Bernoulli authored
      I though it was obvious that the old message implied "... therefore
      do not enable Whitespace mode in Magit buffers.  Please adjust your
      Whitespace mode configuration to prevent that from happening."  But
      it turned out that is not the case.
      
      Change the advice to silently prevent the activation if the attempt
      is made due to the use of `global-whitespace-mode', but if the user
      attempts to enable the local minor-mode directly, then show an error.
      
      The hope is that this compromise results in the fewest invalid bug
      reports.  (There is no bug - not in Magit at least.)
      
      Closes #3374.
      d08f91f0
  7. 02 Feb, 2018 1 commit
  8. 24 Jan, 2018 1 commit
    • Jonas Bernoulli's avatar
      magit-confirm: Fix regression · 42c22614
      Jonas Bernoulli authored
      Unfortunately doing so means changing the function signature in a way
      that is not backward compatible.
      
      This function relies on being able to tell whether ITEMS is nil
      because that argument was not provided or because an empty list was
      provided as its value.  In the former case the action still has to be
      confirmed in the latter case it does not because there is nothing to
      act on.
      
      So the `(items nil sitems)' argument has to be last but in d6420549
      I added a new argument NOCONFIRM after it.
      
      Fixes #3341.
      42c22614
  9. 18 Jan, 2018 1 commit
    • Jonas Bernoulli's avatar
      magit-confirm: Abort if user doesn't confirm · d6420549
      Jonas Bernoulli authored
      Previously we left that for the callers to do.  Or not do - in
      a few cases we should not abort when the user doesn't confirm
      to allow other things to happen.  Add a new argument NOABORT
      to be used in those cases.
      d6420549
  10. 16 Jan, 2018 2 commits
  11. 09 Jan, 2018 1 commit
  12. 08 Jan, 2018 1 commit
  13. 07 Jan, 2018 1 commit
  14. 07 Dec, 2017 1 commit
  15. 10 Nov, 2017 1 commit
  16. 09 Nov, 2017 4 commits
    • Jonas Bernoulli's avatar
      magit-stash-{drop,pop}: ask for confirmation · fece098d
      Jonas Bernoulli authored
      `magit-stash-drop' did previously offer to act on another stash
      instead, which some users, including myself, found inconvenient.
      This was discussed in #2916.
      
      `magit-stash-pop' did pop the stash without requiring confirmation,
      which is unsafe because users might not expect "A" to do something
      different on a stash than elsewhere.  This was discussed in #3220.
      fece098d
    • Jonas Bernoulli's avatar
      magit-stash-{*}: use magit-dwim-selection · 82fedebd
      Jonas Bernoulli authored
      Instead of hard-coding whether these commands use the stash at point
      without requiring confirmation and offering other choices, remove
      `magit-read-stash's USE-AT-POINT argument (which was used for that
      purpose) and instead add equivalent entries to `magit-dwim-selection'.
      82fedebd
    • Jonas Bernoulli's avatar
      magit-completion-read: add FALLBACK argument · 99b8328b
      Jonas Bernoulli authored
      This argument is only used if DEF is nil and its use bypasses the new
      mechanism that allows users to skip confirmation.  It is useful when
      it is safe to use the primary default without a chance to abort, but
      not to do so for some secondary fallback default.
      
      This will be used by `magit-read-stash', which already does something
      similar.
      99b8328b
    • Jonas Bernoulli's avatar
      magit-dwim-selection: new option · 64059d31
      Jonas Bernoulli authored
      `magit-invoke-popup-action' is adjusted to set `this-command' to the
      invoked command before calling instead of after doing so.  Without
      this change `this-command's value would be wrong when consulting it
      in `magit-completing-read' when the command was invoked form a popup.
      
      Also deprecate the option `magit-no-confirm-default', which will be
      removed in v2.13.0.
      
      Re #2916.
      
      squash! magit-dwim-selection: new option
      64059d31
  17. 27 Oct, 2017 2 commits
  18. 26 Oct, 2017 1 commit
  19. 14 Oct, 2017 3 commits
    • Alexander Gramiak's avatar
      Propertize header-line padding in more cases · 4bb16ba2
      Alexander Gramiak authored
      If the base header-line has a face that's present throughout the entire
      string (e.g., magit-header-line-log-select), then the padding should
      also have the same face to match.
      4bb16ba2
    • Alexander Gramiak's avatar
      Pad the right side of header lines · 5d983384
      Alexander Gramiak authored
      This is nice when the background of `magit-header-line' differs from the
      background of `header-line'.
      
      There is currently no way to only add the left scroll bar width every redisplay.
      Instead, the width is only added to the spec if there's a left scroll bar when
      setting the header line.
      5d983384
    • 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
  20. 03 Aug, 2017 1 commit
  21. 10 Jun, 2017 1 commit
  22. 25 May, 2017 3 commits
    • Jonas Bernoulli's avatar
      magit-completing-read-function: improve doc-string · f38e85ed
      Jonas Bernoulli authored
      Also explicitly add `ivy-completing-read' as a valid value.
      f38e85ed
    • Jonas Bernoulli's avatar
      magit-completing-read: add default to choices if necessary · 562e37ec
      Jonas Bernoulli authored
      Until now, we did not bother adding the default choice to the list of
      all choices, because we assumed that doing so was not necessary.
      
      But it turned out that while it is possible to use such a default by
      simply confirming it, `completing-read' does not actually add the
      default to the list of all choices.  It therefore won't be shown when
      the user uses TAB to list the choices.  And when REQUIRE-MATCH is
      non-nil, then the user also won't be able to exit after manually
      typing the default.
      
      Additionally `ivy-completing-read' was recently changed to completely
      ignore a default that isn't a member of the choices, making a fix more
      pressing.
      
      This commit simply prepends the default to the list of choices, if it
      is not a `member' yet.  Doing this is much simpler than adjusting each
      and every caller of `magit-completing-read', but it may in some cases
      be weird for the default to be listed first, when the other choices
      are sorted alphabetically.
      562e37ec
    • Jonas Bernoulli's avatar
      magit-builtin-completing-read: maybe forgo adding default to prompt · 43efcf51
      Jonas Bernoulli authored
      When either one of `helm-mode' or `ivy-mode' is enabled, then do not
      add the default choice to the prompt, as doing so would be redundant,
      the default is already emphasized by being highlighted.
      43efcf51
  23. 08 May, 2017 1 commit
  24. 06 May, 2017 1 commit
  25. 20 Apr, 2017 1 commit
    • Jonas Bernoulli's avatar
      manual: add dummy subsection, wrapping initial section content · a82c6b41
      Jonas Bernoulli authored
      This makes the CONTENTS visibility state much more useful.  Now that
      state shows nothing but headings, including the newly added pseudo
      headings "_ :ignored:".  Previously the initial text belonging to a
      section that also has subsections, was also visible in this state.
      
      These "_ :ignored:" headers are not exported to `texinfo' -- that's
      the "pseudo" part.  This filtering is implemented in the `ox-extra'
      package, which is distributed with Org.  Visiting the Org source of
      one of our manuals automatically enables this feature.
      
      Unfortunately the filtering would result in duplicated menus being
      inserted when using the `texinfo' exporter, so Kyle wrote an advice
      for `org-export-ignore-headlines', which this commit places in
      "magit-utils.el".  Hopefully we will eventually be able to remove
      this hack.  See #2914 to keep track of this.
      a82c6b41
  26. 17 Apr, 2017 1 commit
  27. 02 Apr, 2017 3 commits
    • Kyle Meyer's avatar
      magit-completing-read-multiple: preserve order in helm-mode · 6fcf994b
      Kyle Meyer authored
      When helm-mode is active, it overrides crm prompts by setting
      comment-region-function to helm--completion-in-region.  This function
      sorts the completions with helm-generic-sort-fn.  As of Helm's
      ee9b12d6 (emacs-helm/helm#1735, 2017-03-31), the sort function can be
      customized with helm-completion-in-region-default-sort-fn.  Let-bind
      this variable to nil to disable sorting.
      6fcf994b
    • Kyle Meyer's avatar
      completion: work around an Emacs sorting bug · bef9c7aa
      Kyle Meyer authored
      One of the functions tried by completion-all-completions,
      completion-pcm--all-completions, incorrectly reverses the
      collection (Emacs bug#24676).  As a result, using identity for
      display-sort-function doesn't actually preserve the order of the
      collection.  We can't just use nreverse instead of identity for
      display-sort-function because this incorrectly reverses the collection
      when the buggy path of completion-pcm--all-completions is not
      followed (e.g., for partial completions).
      
      The fix proposed in the Emacs bug report has not been applied yet.
      One option is to advise completion-pcm--all-completions, reversing its
      output, but that would be difficult because we don't know whether the
      function will follow the buggy path.  Even if we were to duplicate the
      code to check that, we would need a way to detect when the commit
      lands upstream so that we don't end up reversing the correct output.
      Also, advising it could interfere with users or packages that have
      made a similar fix.  Instead, let's copy completion-pcm--all-completions
      to a new function, and override the original during our
      completing-read calls.
      
      Along with preserving the order with the default completion system,
      this solves the issue with ivy-mode and crm.  helm-mode, on the other
      hand, still sorts the collection according to helm-generic-sort-fn.
      bef9c7aa
    • Kyle Meyer's avatar
      completion: override default alphabetical sorting · aa5f098a
      Kyle Meyer authored
      The "*Completions*" buffer for completing-read and for crm-driven
      read-from-minibuffer defaults to alphabetically sorting the
      collection.  As a result, any meaningful order given to the collection
      (e.g., by the recently added magit-list-refs-sortby) won't be visible
      to the user.
      
      This is probably most problematic when reading a refname in a repo
      with many numeric tags because these tags are displayed before
      branches staring with letters even though tags (and especially the
      older tags at the beginning of the list) are not likely to be the
      desired target.  If the order of the collection is respected, this
      problem is avoided because, by default, magit-list-refs returns refs
      sorted by their full name, so branches ("refs/heads") come before
      tags ("refs/tags"), as well as remotes ("refs/remotes") and GitHub
      pull requests ("refs/pull").
      
      Preserve the order of the collection by using identity for the
      display-sort-function metadata.  Unfortunately, the items are actually
      displayed in reverse in some cases because a completion function,
      completion-pcm--all-completions, reverses the collection's
      order (Emacs bug#24676).  The next commit will add a kludge for this.
      
      Many third-party completion packages preserve the order of the
      collection without any intervention.  I tested completing-read and crm
      completion with magit-completing-read-function set to
      magit-ido-completing-read, helm--completing-read-default, and
      ivy-completing-read.  These all appeared to work fine.
      
      With the global modes for helm and ivy enabled, the order in the crm
      completion list is not preserved.  In the case of ivy, this is due to
      bug#24676.  For helm, this is because helm--completion-in-region uses
      its own function to sort the output of completion-all-completions.
      
      Closes #2925.
      aa5f098a