Commit Graph
1178 Commits
Author SHA1 Message Date
Yorick Peterse 73cf0f1647 Only load rblineprof when actually needed
This ensures the application can still boot when the "development" group
is not available.
2015-11-09 15:54:13 +01:00
Yorick Peterse 7b5fd8742e Track the amount of times views are rendered 2015-11-09 14:29:10 +01:00
Yorick Peterse 265ef867ff Added specs and source documentation for Sherlock 2015-11-09 14:29:10 +01:00
Yorick Peterse dec3e4ce64 Added Sherlock, a custom profiling tool for GitLab
Sherlock will be a new GitLab specific tool for measuring the
performance of Rails requests (and SideKiq jobs at some point). Some of
the things that are currently tracked:

* SQL queries along with their timings, backtraces and query plans
  (using "EXPLAIN ANALYZE" for PostgreSQL and regular "EXPLAIN" for
  MySQL)
* Timings of application files (including views) on a per line basis
* Some meta data such as the request method, path, total duration, etc

More tracking (e.g. Rugged or gitlab-shell timings) might be added in
the future.

Sherlock will replace any existing tools we have used so far (e.g.
active_record_query_trace and rack-mini-profiler), hence the
corresponding Gems have been removed from the Gemfile.

Sherlock can be enabled by starting Rails as following:

    ENABLE_SHERLOCK=1 bundle exec rails s

Recorded transactions can be found at `/sherlock/transactions`.
2015-11-09 14:29:10 +01:00
Kamil Trzcinski b18671a1b2 Enable shared runners for all new projects 2015-11-05 17:02:02 +01:00
Robert Speicher 5df6b0b758 Merge branch 'facebook-auth' into 'master'
Add Facebook authentication

See merge request !1740
2015-11-04 15:23:38 +00:00
Robert Speicher d09d62b6b8 Replace all usages of git command with configurable binary path
Closes #3311
2015-11-03 17:11:09 -05:00
Douwe Maan 98dcad2762 Use proper labels for OAuth providers 2015-11-03 17:59:07 +01:00
Valery Sizov b12e17ff55 Merge branch 'web_hook_repo_changes' 2015-11-03 15:05:50 +02:00
Dmitriy Zaporozhets fb2f8be4d7 Merge branch 'olhado/gitlab-ce-commit-search' 2015-11-03 11:28:56 +01:00
Valery SizovandValery Sizov 9479496f75 Add added, modified and removed properties to commit object in webhook 2015-11-03 12:16:40 +02:00
Dmitriy Zaporozhets 28f6fba97c Fix commits search for empty repository
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-03 10:16:09 +01:00
Dmitriy Zaporozhets 810c91fe35 Refactor search by commits message
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-02 16:39:24 +01:00
Douwe Maan 329e067ff1 Merge branch 'rs-dev-issue-2613' into 'master'
Add custom protocol whitelisting to SanitizationFilter

Addresses internal https://dev.gitlab.org/gitlab/gitlabhq/issues/2613

We allow any protocol for autolinks: irc://irc.freenode.net/git

But manual Markdown links with the same protocol get sanitized: `[This will not be clickable](irc://irc.freenode.net/git)`: [This will not be clickable](irc://irc.freenode.net/git)

To get around this we have to first allow *all* protocols, and then manually clean dangerous (i.e., `javascript:`) protocols.

See merge request !1496
2015-11-02 10:49:46 +00:00
Dmitriy Zaporozhets 7335395916 Merge branch 'gitlab-workhorse' into 'master'
Switch to gitlab-workhorse

This is a little annoying but it is better to change this name then
to be stuck with a bad name for a long time. Reasons for the name
change: https://gitlab.com/gitlab-org/gitlab-git-http-server/issues/13

See merge request !1707
2015-10-30 21:23:53 +00:00
Ben FordandDouwe Maan 3be9d2c422 Add ability to create directories in the editor
Simply type a name with a `/` directory separator and new directories
will be created. This does not do the fancy UI work that github.com
does, but it will get the job done.

I could not find tests for file creation, so I didn't add a test for
this slight behaviour modification. I did test directory traversals
though, using both absolute paths like `/tmp/foo.txt` and relative paths
like `../../foo.txt`. Neither case escaped the repository, though
attempting to traverse with a relative path resulted in a 500 error that
did not affect application stability upon reload.
2015-10-29 15:49:07 +01:00
Jacob Vosmaer c5132e94e1 Switch to gitlab-workhorse 2015-10-29 14:21:24 +01:00
Michael Chmielewski b1f4aaa5e7 Trying to incorporate suggestions from comments on Merge Request 1661 2015-10-28 22:34:39 -04:00
Jonathan SchoefflingandMichael Chmielewski 5a5069969c Add support for searching commit log messages
Include the log messages of recent commits in project-level search
results, providing functionality similar to 'git log --grep'.

Update repository model rspec tests to validate the output of
Repository#commits_with_log_matching.
2015-10-28 22:34:39 -04:00
Douwe Maan b6f8d0100e Merge branch 'dirceu/gitlab-ce-fix-project-search-with-unmatched-parentheses' 2015-10-25 11:55:14 +01:00
Stan Hu 64a270a645 Fix cloning Wiki repositories via HTTP
Cloning a project Wiki over HTTP would end up cloning the main repository
since the .wiki extension was being stripped.

Closes #3106
2015-10-22 13:53:12 -07:00
Robert Speicher 7924dd5c9f Merge branch 'project-path-case-sensitivity' into 'master'
Prefer project with exact path to differently cased one when both exist.

Fixes #3113.

See merge request !1649
2015-10-22 13:03:04 +00:00
Douwe Maan 05cb65dc1f Fix Gitlab::Database#mysql? 2015-10-22 10:18:44 +02:00
Dirceu Pereira Tiegs d7bcfe4fc0 Fix issue #3055 (project search with unmatched parentheses) 2015-10-21 10:20:40 -02:00
Yorick Peterse afdc028516 Speed up searching for text references a bit
If a node is ignored there's no need for searching for a given pattern.
In turn, when searching for the pattern there's no need to construct a
MatchData object as we only care about presence (or lack thereof), not
the resulting matches.

In terms of performance this cuts down about 200 ms when loading
issue #2164 locally, though this varies a bit depending on system load.
2015-10-20 15:52:40 +02:00
Douwe Maan cc2b05adf8 Fix bug where a push would only create cross references from the first commit. 2015-10-18 14:05:27 +02:00
Douwe Maan 34148d1576 Merge branch 'master' into rs-redactor-filter 2015-10-16 11:26:48 +02:00
Douwe Maan 4b28f2d999 Merge branch 'git-archive-golang' into 'master'
Let gitlab-git-http-server handle archive downloads

This change relies on changes in gitlab_git and gitlab-git-http-server.

fixes #2429

See merge request !1548
2015-10-15 11:43:14 +00:00
Douwe Maan c993481d99 Merge branch 'master' into git-archive-golang 2015-10-15 11:47:36 +02:00
Douwe Maan 95f0440a78 Merge branch 'master' into rs-redactor-filter 2015-10-15 11:26:58 +02:00
Robert Speicher 976400c1e6 Merge branch 'incoming-email-config' into 'master'
Make Reply by email easier to configure

Builds on !1566.

Omnibus companion MR: gitlab-org/omnibus-gitlab!510 (cc @marin)

See merge request !1580
2015-10-14 20:38:36 +00:00
Robert Speicher 123669a551 Merge branch 'simplify-cross-references' into 'master'
Simplify code around (cross)-references

See merge request !1568
2015-10-14 20:10:34 +00:00
Valery Sizov 8f584d5f2c Fix: Images cannot show when projects' path was changed 2015-10-14 18:50:35 +03:00
Douwe Maan d313a7681b Explicitly only parse references by specified filter 2015-10-14 09:46:06 +02:00
Douwe Maan d6fb96b927 Have Issue#participants load all users mentioned in notes using a single query 2015-10-14 09:17:05 +02:00
Douwe Maan cd2583a3be Code cleanup 2015-10-13 23:03:53 +02:00
Douwe Maan 93fcddd7a7 Allow ReferenceExtractor to efficiently load references from multiple texts at once 2015-10-13 22:53:05 +02:00
Douwe Maan 251e13666d Efficiently load multiple references of one type. 2015-10-13 18:23:49 +02:00
Douwe Maan 5dd77358f6 Pass project to RedactorFilter 2015-10-13 13:36:47 +02:00
Douwe Maan 712d17684b Make Reply by email easier to configure 2015-10-13 13:10:49 +02:00
Douwe Maan b0164771ec Simplify code around (cross)-references 2015-10-12 11:54:46 +02:00
Robert Speicher 42603af326 Merge branch 'fix_email_downcasing' into 'master'
LDAP email address downcasing

Fixes #2960

In the event we cannot match an LDAP user by DN we attempt to find an identity by email address and then update the DN. In this case the identity is matched by email address. 

If the user's email address in LDAP has an upper case character we cannot find a match in the GitLab database. GitLab downcases emails before the user object is saved.

This merge request downcases the email from LDAP before we lookup by email. I also added a test to prevent a regression.

See merge request !1550
2015-10-11 22:53:11 +00:00
Robert Speicher 69b41ba043 Normalize space-like characters in keys before output to gitlab-shell
gitlab-shell expects only one tab separator per key, and an SSH key with
a tab character in the comment, for example, would break things.

Closes #2970
2015-10-08 20:34:50 -04:00
Drew Blessing b7def88c02 Fix ldap email downcasing bug 2015-10-08 14:59:46 -05:00
Jacob Vosmaer cb13980db8 Let gitlab-git-http-server handle archive downloads
This change relies on changes in gitlab_git and gitlab-git-http-server.
2015-10-08 17:12:00 +02:00
Douwe Maan 9d066bc941 Raise error when a ReferenceFilter doesn't implement referenced_by 2015-10-08 13:00:49 +02:00
Douwe Maan e6419cecf4 Update inline doc 2015-10-08 13:00:49 +02:00
Robert Speicher e0f9d3a547 Update ReferenceFilter docs
[ci skip]
2015-10-07 18:40:54 -04:00
Yorick Peterse 85c6a3743a Added methods for detecting MySQL/PostgreSQL
These two methods remove the need for manually going into
ActiveRecord::Base.connection all over the place.
2015-10-07 23:32:14 +02:00
Douwe Maan 72afcbcd37 Always allow references to the current project 2015-10-07 19:19:23 +02:00