Read about our upcoming Code of Conduct on this issue

  1. 07 Feb, 2018 1 commit
  2. 06 Feb, 2018 2 commits
  3. 05 Feb, 2018 2 commits
  4. 02 Feb, 2018 6 commits
  5. 01 Feb, 2018 3 commits
  6. 26 Jan, 2018 1 commit
  7. 25 Jan, 2018 2 commits
  8. 24 Jan, 2018 1 commit
  9. 23 Jan, 2018 1 commit
    • Jan Provaznik's avatar
      Use limit for search count queries · 6e854492e11d
      Jan Provaznik authored
      Search query is especially slow if a user searches a generic string
      which matches many records, in such case search can take tens of
      seconds or time out. To speed up the search query, we search only for
      first 1000 records, if there is >1000 matching records we just display
      "1000+" instead of precise total count supposing that with such amount
      the exact count is not so important for the user.
      Because for issues even limited search was not fast enough, 2-phase
      approach is used for issues: first we use simpler/faster query to get
      all public issues, if this exceeds the limit, we just return the limit.
      If the amount of matching results is lower than limit, we re-run more
      complex search query (which includes also confidential issues).
      Re-running the complex query should be fast enough in such case because the
      amount of matching issues is lower than limit.
      Because exact total_count is now limited, this patch also switches to
      to "prev/next" pagination.
      Related #40540
  10. 22 Jan, 2018 1 commit
  11. 18 Jan, 2018 1 commit
  12. 17 Jan, 2018 2 commits
  13. 15 Jan, 2018 1 commit
  14. 12 Jan, 2018 1 commit
  15. 10 Jan, 2018 1 commit
    • Jan Provaznik's avatar
      Denormalize commits count for merge request diffs · fc52079e6da2
      Jan Provaznik authored
      For each MR diff an extra 'SELECT COUNT()' is executed
      to get number of commits for the diff. Overall time to get counts for
      all MR diffs may be quite expensive. To speed up loading of MR info,
      information about number of commits is stored in a MR diff's extra column.
      Closes #38068
  16. 08 Jan, 2018 3 commits
    • Michael Kozono's avatar
      Backport authorized_keys_enabled defaults to true' · fd4b5e3d29b5
      Michael Kozono authored
      Originally from branch 'fix-authorized-keys-enabled-default-2738' via merge request
      Removed background migrations which were intended to fix state after using Gitlab
      without a default having been set
      Squashed commits:
      Locally, if Spring was not restarted, `current_application_settings` was still cached, which prevented the migration from editing the file. This will also ensure that any app server somehow hitting old cache data will properly default this setting regardless.
      Retroactively fix migration
        This allows us to identify customers who ran the broken migration. Their `authorized_keys_enabled` column does not have a default at this point.
        We will fix the column after we fix the `authorized_keys` file.
      Fix authorized_keys file if needed
      Add default to authorized_keys_enabled setting
        Reminder: The original migration was fixed retroactively a few commits ago, so people who did not ever run GitLab 9.3.0 already have a column that defaults to true and disallows nulls. I have tested on PostgreSQL and MySQL that it is safe to run this migration regardless.
        Affected customers who did run 9.3.0 are the ones who need this migration to fix the authorized_keys_enabled column.
        The reason for the retroactive fix plus this migration is that it allows us to run a migration in between to fix the authorized_keys file only for those who ran 9.3.0.
      Tweaks to address feedback
      Extract work into background migration
      Move batch-add-logic to background migration
        Do the work synchronously to avoid multiple workers attempting to add batches of keys at the same time.
        Also, make the delete portion wait until after adding is done.
      Do read and delete work in background migration
      Fix Rubocop offenses
      Add changelog entry
      Inform the user of actions taken or not taken
      Prevent unnecessary `select`s and `remove_key`s
      Add logs for action taken
      Fix optimization
      Reuse `Gitlab::ShellAdapter`
      Guarantee the earliest key
      Fix migration spec for MySQL
    • Michael Kozono's avatar
      Backport option to disable writing to `authorized_keys` file · aa813711a3bd
      Michael Kozono authored
      Originally branch 'mk-toggle-writing-to-auth-keys-1631'
      See merge request !2004
      Squashed commits:
      Add authorized_keys_enabled to Application Settings
      Ensure default settings are exposed in UI
      Without this change, `authorized_keys_enabled` is unchecked when it is nil, even if it should be checked by default.
      Add “Speed up SSH operations” documentation
      Clarify the reasons for disabling writes
      Add "How to go back" section
      Tweak copy
      Update Application Setting screenshot
    • Yorick Peterse's avatar
      Remove soft removals related code · 0adb554804b1
      Yorick Peterse authored
      This removes all usage of soft removals except for the "pending delete"
      system implemented for projects. This in turn simplifies all the query
      plans of the models that used soft removals. Since we don't really use
      soft removals for anything useful there's no point in keeping it around.
      This _does_ mean that hard removals of issues (which only admins can do
      if I'm not mistaken) can influence the "iid" values, but that code is
      broken to begin with. More on this (and how to fix it) can be found in
  17. 05 Jan, 2018 1 commit
    • Jan Provaznik's avatar
      Backport 'Rebase' feature from EE to CE · 3b76393647fc
      Jan Provaznik authored
      When a project uses fast-forward merging strategy user has
      to rebase MRs to target branch before it can be merged.
      Now user can do rebase in UI by clicking 'Rebase' button
      instead of doing rebase locally.
      This feature was already present in EE, this is only backport
      of the feature to CE. Couple of changes:
      * removed rebase license check
      * renamed migration (changed timestamp)
      Closes #40301
  18. 04 Jan, 2018 1 commit
  19. 03 Jan, 2018 1 commit
    • Yorick Peterse's avatar
      Use a background migration for issues.closed_at · 7e47dfe70d60
      Yorick Peterse authored
      In a previous attempt (rolled back in we tried
      to migrate `issues.closed_at` from timestamp to timestamptz using a
      regular migration. This has a bad impact on and as such was
      rolled back.
      This commit re-implements the original migrations using generic
      background migrations, allowing us to still migrate the data in a single
      release but without a negative impact on availability.
      To ensure the database schema is up to date the background migrations
      are performed inline in development and test environments. We also make
      sure to not migrate that that doesn't need migrating in the first place
      or has already been migrated.
  20. 02 Jan, 2018 2 commits
  21. 30 Dec, 2017 1 commit
    • Mario de la Ossa's avatar
      User#projects_limit remove DB default and added NOT NULL constraint · a514f248c5e5
      Mario de la Ossa authored
      This change is required because otherwise if a user is created with a
      value for `projects_limit` that matches the DB default, it gets
      overwritten by `current_application_settings.default_projects_limit`. By
      removing the default we once again can allow a user to be created with a
      limit of 10 projects without the risk that it'll change to 10000
  22. 22 Dec, 2017 3 commits
  23. 21 Dec, 2017 2 commits