Skip to content
Snippets Groups Projects
  1. Feb 20, 2017
  2. Feb 16, 2017
  3. Feb 15, 2017
  4. Feb 14, 2017
  5. Feb 13, 2017
  6. Feb 10, 2017
  7. Feb 08, 2017
  8. Feb 07, 2017
  9. Feb 06, 2017
  10. Feb 04, 2017
    • Stan Hu's avatar
      Add index to labels for `type` and project_id` · 1e97a6df
      Stan Hu authored
      When loading pages that display the number of open issues,
      the backend runs a query such as:
      
      ```sql
      SELECT "labels"."id" FROM "labels" WHERE "labels"."type" IN ('ProjectLabel') AND "labels"."project_id" = 1000
      ```
      
      This results in an entire scan of the `labels` table. To optimize performance,
      add the appropriate index to the table.
      
      Closes #27676
      1e97a6df
  11. Feb 03, 2017
  12. Feb 02, 2017
  13. Feb 01, 2017
  14. Jan 31, 2017
    • Kamil Trzciński's avatar
      Pages domain model specs · d3b82848
      Kamil Trzciński authored
      d3b82848
    • Kamil Trzciński's avatar
      Add GitLab Pages · 120f9aba
      Kamil Trzciński authored
      - The pages are created when build artifacts for `pages` job are uploaded
      - Pages serve the content under: http://group.pages.domain.com/project
      - Pages can be used to serve the group page, special project named as host: group.pages.domain.com
      - User can provide own 403 and 404 error pages by creating 403.html and 404.html in group page project
      - Pages can be explicitly removed from the project by clicking Remove Pages in Project Settings
      - The size of pages is limited by Application Setting: max pages size, which limits the maximum size of unpacked archive (default: 100MB)
      - The public/ is extracted from artifacts and content is served as static pages
      - Pages asynchronous worker use `dd` to limit the unpacked tar size
      - Pages needs to be explicitly enabled and domain needs to be specified in gitlab.yml
      - Pages are part of backups
      - Pages notify the deployment status using Commit Status API
      - Pages use a new sidekiq queue: pages
      - Pages use a separate nginx config which needs to be explicitly added
      120f9aba
  15. Jan 30, 2017
  16. Jan 25, 2017
  17. Jan 21, 2017
  18. Jan 15, 2017
  19. Jan 12, 2017
    • Horacio Sanson's avatar
      Add support for PlantUML diagrams in Asciidoc. · f986b4c4
      Horacio Sanson authored and Sean McGivern's avatar Sean McGivern committed
      This MR enables rendering of PlantUML diagrams in Asciidoc documents. To add a
      PlantUML diagram all we need is to include a plantuml block like:
      
      ```
      [plantuml, id="myDiagram", width="100px", height="100px"]
      --
      bob -> alice : ping
      alice -> bob : pong
      --
      ```
      
      The plantuml block is substituted by an HTML img element with *src* pointing to
      an external PlantUML server.
      
      This MR also add a PlantUML integration section to the Administrator -> Settings
      page to configure the PlantUML rendering service and to enable/disable it.
      
      Closes: #17603
      f986b4c4
  20. Jan 08, 2017
    • Vincent Wong's avatar
      Record and show last used date of SSH Keys · b6df93a5
      Vincent Wong authored
      Addresses: Issue #13810
      
      1. Adds a last_used_at attribute to the Key table/model
      2. Update a key's last_used_at whenever it gets used
      3. Display how long ago an ssh key was last used
      b6df93a5
    • Yorick Peterse's avatar
      Remove the project_authorizations.id column · de321fbb
      Yorick Peterse authored
      This column used to be a 32 bits integer, allowing for only a maximum of
      2 147 483 647 rows. Given enough users one can hit this limit pretty
      quickly, as was the case for GitLab.com.
      
      Changing this type to bigint (= 64 bits) would give us more space, but
      we'd eventually hit the same limit given enough users and projects. A
      much more sustainable solution is to simply drop the "id" column.
      
      There were only 2 lines of code depending on this column being present,
      and neither truly required it to be present. Instead the code now uses
      the "project_id" column combined with the "user_id" column. This means
      that instead of something like this:
      
          DELETE FROM project_authorizations
          WHERE user_id = X
          AND id = Y;
      
      We now run the following when removing rows:
      
          DELETE FROM project_authorizations
          WHERE user_id = X
          AND project_id = Y;
      
      Since both user_id and project_id are indexed this should not slow down
      the DELETE query.
      
      This commit also removes the "dependent: destroy" clause from the
      "project_authorizations" relation in the User and Project models.
      Keeping this prevents Rails from being able to remove data as it relies
      on an "id" column being present. Since the "project_authorizations"
      table has proper foreign keys set up (with cascading removals) we don't
      need to depend on any Rails logic.
      Verified
      de321fbb
  21. Dec 28, 2016
  22. Dec 26, 2016
  23. Dec 24, 2016
  24. Dec 21, 2016
  25. Dec 16, 2016
Loading