Commit Graph
22080 Commits
Author SHA1 Message Date
Rubén Dávila 7307fa48e7 Fix broken specs. #3945 2016-01-12 19:28:31 -05:00
Rubén Dávila f547e733d1 Add more specs. #3945 2016-01-12 17:49:11 -05:00
Rubén Dávila 6e3358a507 Remove no longer required code. #3945 2016-01-12 17:36:08 -05:00
Rubén Dávila c0385488fb Fix broken spec. #3945 2016-01-12 15:12:30 -05:00
Rubén Dávila f1f9b5f7d3 Small fixes from code review. #3945 2016-01-12 12:53:54 -05:00
Rubén Dávila c476395b4d Reuse existent vars with ref and path. #3945 2016-01-12 11:14:41 -05:00
Rubén Dávila 80a4c808b1 Make diff_line_content helper return a safe String. #3945 2016-01-12 11:02:16 -05:00
Rubén Dávila ee2230c329 Fix css for other highlighting themes. #3945 2016-01-09 09:27:43 -05:00
Rubén Dávila fed10766e5 Fix broken spec for submodule commit. #3945 2016-01-09 01:55:31 -05:00
Rubén Dávila 164c6374a7 Fix broken specs. #3945 2016-01-08 19:57:51 -05:00
Rubén Dávila 78d7c0e0d8 Fix broken specs. #3945 2016-01-08 19:05:55 -05:00
Rubén Dávila 52f8286a02 Update specs. #3945 2016-01-08 18:40:05 -05:00
Rubén Dávila 6282202ee8 Remove custom Lexer. #3945 [ci skip]
Inline diff is going to be generated client side now. #3945
2016-01-08 15:20:48 -05:00
Rubén Dávila 21b602c60a Change strategy to highlight diffs. #3945
Now we apply syntax highlighting to the whole old and new files.
This basically help us to highlight adequately multiline content.
2016-01-07 22:37:01 -05:00
Rubén Dávila f1f4fdf778 Don't process inline diffs on backend. #3945 2016-01-07 21:08:57 -05:00
Rubén Dávila 21958a3939 Add some styling for syntax highlighting themes. #3945 2016-01-07 13:45:19 -05:00
Rubén Dávila 1494bb3f25 Force white theme when viewing diffs. #3945 2016-01-06 21:01:44 -05:00
Rubén Dávila 776d70d11b Use #html_safe instead of #raw in some diff views. #3945 2016-01-06 19:54:36 -05:00
Rubén Dávila 795ecb498c Fix broken spec. #3945 2015-12-31 01:46:52 -05:00
Rubén Dávila 3fbcf52ec8 Apply syntax highlighting when expanding diff plus some refactor. #3945 2015-12-31 01:05:52 -05:00
Rubén Dávila fd100e1ef1 Don't modify "match" diff lines. #3945 2015-12-30 21:44:12 -05:00
Rubén Dávila 8b079315d9 A bit of refactoring. #3945 2015-12-30 21:23:50 -05:00
Rubén Dávila d83275620a Add specs for Gitlab::Diff::Highlight. #3945 2015-12-30 20:18:40 -05:00
Rubén Dávila 7de90f4b53 Fix broken spec and small refactor. #3945 2015-12-30 18:42:11 -05:00
Rubén Dávila b74f36c9ca Fix Rubocop complain. #3945 2015-12-30 13:10:28 -05:00
Rubén Dávila bb96d63153 New implementation for highlighting diff files. #3945
* It is more performant given now we process all the diff file instead
  of processing line by line.
* Multiline comments are highlighted correctly.
2015-12-30 00:52:50 -05:00
Rubén DávilaandRubén Dávila c031b9d9cd Set initial state on parent Lexer. #3945 2015-12-28 18:31:27 -05:00
Rubén DávilaandRubén Dávila 34657b821a Add syntax highlighting to diff view. #3945 2015-12-28 18:31:27 -05:00
Yorick Peterse 3a227b5abb Merge branch 'influxdb-missing-settings' into 'master'
Handle missing settings table for metrics



See merge request !2232
2015-12-28 21:58:49 +00:00
Achilleas Pipinellis 03451a252f Merge branch 'fix_link_permissions' into 'master'
Fix broken link in permissions page



See merge request !2233
2015-12-28 21:55:53 +00:00
Yorick Peterse ed214a11ca Handle missing settings table for metrics
This ensures we can still boot, even when the "application_settings"
table doesn't exist.
2015-12-28 22:38:34 +01:00
Achilleas Pipinellis c5c6a945f2 Fix broken link in permissions page [ci skip] 2015-12-28 23:06:58 +02:00
Yorick Peterse af00558d38 Merge branch 'relocate-influxdb-settings' into 'master'
Move InfluxDB settings to ApplicationSetting

This moves the settings from the YAML files to the database.

cc @sytses

See merge request !2228
2015-12-28 20:00:57 +00:00
Yorick Peterse 47fbba4474 Merge branch 'fix-gitlab-yml-syntax' into 'master'
Fixed syntax in gitlab.yml.example



See merge request !2230
2015-12-28 19:34:11 +00:00
Yorick Peterse 0eab0c6efd Fixed syntax in gitlab.yml.example 2015-12-28 20:28:40 +01:00
Yorick Peterse 4d925f2147 Move InfluxDB settings to ApplicationSetting 2015-12-28 18:00:32 +01:00
Dmitriy Zaporozhets 17ef4cdff9 Merge branch 'restart-settings-are-moved-too' into 'master'
Restart settings are moved too.



See merge request !2226
2015-12-28 15:36:44 +00:00
Sytse Sijbrandij 297f83425e Restart settings are moved too. 2015-12-28 16:33:37 +01:00
Sytse Sijbrandij 29fe466a4d Merge branch 'issue-weight-contributing' into 'master'
add issue weight to contributing

cc @dzaporozhets 

See merge request !2223
2015-12-28 14:08:51 +00:00
Dmitriy Zaporozhets 540eb0a9af Merge branch 'influxdb' into 'master'
Storing of application metrics in InfluxDB

This adds support for tracking metrics in InfluxDB, which in turn can be visualized using Grafana. For more information see #2936.

See merge request !2042
2015-12-28 13:42:15 +00:00
Job van der Voort c68f8533aa add issue weight to contributing 2015-12-28 14:02:18 +01:00
Dmitriy Zaporozhets c08cb923ec Merge branch 'environment-variables-in-the-app' into 'master'
Environment variables in the app

Fixes #3717 and #3519 

## Why environment variables?

We need environmental variables, they are an expected way to configure apps https://medium.com/@kelseyhightower/12-fractured-apps-1080c73d481c#.ntrdiyu4c

This causes many tools and to tutorials to make it easy to set environmental variables and harder to supply a configuration file. 

So even though we agree they are not ideal https://support.cloud.engineyard.com/hc/en-us/articles/205407508-Environment-Variables-and-Why-You-Shouldn-t-Use-Them the market has spoken.

## Why for GitLab the application and not for the Omnibus packages?

Environmental variables are also needed by people that do not run our Omnibus packages, for example natively bundled apps (Debian apt-get) and idiomatic Docker packages (Mesos, Kubernetes, etc.).

Of course it should work great with Omnibus packages too so any advise is welcome in that regard.

There is an MR https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/575/diffs to be able to set any variable in gitlab.rb via environmental variables. I think both that and this MR should be merged to solve the configuration problem for both Omnibus and non-Omnibus installations. When both are merged the documentation should be crosslinked.

## Why uppercase?

Need to be all cap according to Google Shell guideline:
"Constants and Environment Variable Names => All caps, separated with underscores, declared at the top of the file."
https://google.github.io/styleguide/shell.xml#Constants_and_Environment_Variable_Names

Or as explained on http://stackoverflow.com/a/673940/613240
Keeping to this convention, you can rest assured that you don't need to know every environment variable used by UNIX tools or shells in order to avoid overwriting them. If it's your variable, lowercase it. If you export it, uppercase it.

/cc @JobV @DouweM @marin @jacobvosmaer @ayufan @pravi

See merge request !2215
2015-12-28 12:44:03 +00:00
Yorick Peterse 1be5668ae0 Added host option for InfluxDB 2015-12-28 13:14:48 +01:00
Dmitriy Zaporozhets 08b4d8b6ac Merge branch 'disable-git-follow' into 'master'
Disable --follow in `git log` to avoid loading duplicate commit data in infinite scroll

`git` doesn't work properly when `--follow` and `--skip` are specified together. We could even be **omitting commits in the Web log** as a result.

Here are the gory details. Let's say you ran:

```
git log -n=5 --skip=2 README
```

This is the working case since it omits `--follow`. This is what happens:

1. `git` starts at `HEAD` and traverses down the tree until it finds the top-most commit relevant to README.
2. Once this is found, this commit is returned via `get_revision_1()`.
3. If the `skip_count` is positive, decrement and repeat step 2. Otherwise go onto step 4.
4. `show_log()` gets called with that commit.
5. Repeat step 1 until we have all five entries.

That's exactly what we want. What happens when you use `--follow`? You have to understand how step 1 is performed:

* When you specify a pathspec on the command-line (e.g. README), a flag `prune` [gets set here](https://github.com/git/git/blob/master/revision.c#L2351).
* If the `prune` flag is active, `get_commit_action()` determines whether the commit should be [scanned for matching paths](https://github.com/git/git/blob/master/revision.c#L2989).
* In the case of `--follow`, however, `prune` is [disabled here](https://github.com/git/git/blob/master/revision.c#L2350).
* As a result, a commit is never scanned for matching paths and therefore never pruned. `HEAD` will always get returned as the first commit, even if it's not relevant to the README.
* Making matters worse, the `--skip` in the example above would actually skip a every other entry after `HEAD` N times. If README were changed in these skipped commits, we would actually miss information!

Since git uses a matching algorithm to determine whether a file was renamed, I
believe `git` needs to generate a diff of each commit to do this and traverse
each commit one-by-one to do this. I think that's the rationale for disabling
the `prune` functionality since you can't just do a simple string comparison.

Closes #4181, #4229, #3574, #2410

See merge request !2210
2015-12-28 12:05:55 +00:00
Dmitriy Zaporozhets 2978be2e22 Merge branch 'rs-fix-shortcut-help' into 'master'
Fix the "Show all" link for the keyboard shortcut modal

18cb430f79 introduced a typo that made this stop working.

See merge request !2218
2015-12-28 12:02:18 +00:00
Dmitriy Zaporozhets 202010e33f Merge branch 'add-recaptcha-support' into 'master'
Add support for Google reCAPTCHA in user registration to prevent spammers

To do:

- [x] Failing reCAPTCHA test causes all the fields to be lost
- ~~[ ] Improve styling of reCAPTCHA box~~ (not possible)
- ~~[ ] Put settings in `application_settings` (?)~~

![image](/uploads/d38ca89820d3c0066fb8aeb645fd77f0/image.png)

![image](/uploads/6b050749963691b023d076682abcf736/image.png)

Page when you fail CAPTCHA:

![image](/uploads/bc4846f0a5144985bc41dfa75eeab4c1/image.png)


See merge request !2216
2015-12-28 11:55:21 +00:00
Dmitriy Zaporozhets 19054ba32b Merge branch 'rs-bump-brakeman' into 'master'
Bump brakeman to ~> 3.1.0



See merge request !2219
2015-12-28 11:23:25 +00:00
Yorick Peterse db7bbadf95 Fixed styling of MetricsWorker specs 2015-12-28 11:34:11 +01:00
Yorick Peterse ddca57d3f2 Use String#delete for removing double quotes 2015-12-28 11:33:40 +01:00
Sytse Sijbrandij fecae9f2bd Merge branch 'initscript-duplicate-update' into 'master'
update-init-script was listed two times. removed one without explanation.

`update-init-script` was listed two times. removed one without explanation.

See merge request !2170
2015-12-28 10:21:59 +00:00