Commit 6dd47c5905d3a697137843546f0623a558c394a4

Authored by Dmitriy Zaporozhets
2 parents 4a1b42d2 4afb7b7c

Merge branch 'master' into stable

Showing 1319 changed files with 10174 additions and 6675 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 1319 files displayed.

.gitignore
... ... @@ -22,4 +22,4 @@ config/unicorn.rb
22 22 db/data.yml
23 23 .idea
24 24 .DS_Store
25   -
  25 +.chef
... ...
.travis.yml
... ... @@ -9,6 +9,8 @@ branches:
9 9 - 'master'
10 10 rvm:
11 11 - 1.9.3
  12 +services:
  13 + - mysql
12 14 before_script:
13 15 - "cp config/database.yml.$DB config/database.yml"
14 16 - "cp config/gitlab.yml.example config/gitlab.yml"
... ...
CHANGELOG
  1 +v 2.9.0
  2 + - fixed inline notes bugs
  3 + - refactored rspecs
  4 + - refactored gitolite backend
  5 + - added factory_girl
  6 + - restyled projects list on dashboard
  7 + - ssh keys validation to prevent gitolite crash
  8 + - send notifications if changed premission in project
  9 + - scss refactoring. gitlab_bootstrap/ dir
  10 + - fix git push http body bigger than 112k problem
  11 + - list of labels page under issues tab
  12 + - API for milestones, keys
  13 + - restyled buttons
  14 + - OAuth
  15 + - Comment order changed
  16 +
1 17 v 2.8.1
2 18 - ability to disable gravatars
3 19 - improved MR diff logic
... ...
CONTRIBUTING.md 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +## Contribute to GitLab
  2 +
  3 +If you want to contribute to GitLab, follow this process:
  4 +
  5 +1. Fork the project
  6 +2. Create a feature branch
  7 +3. Code
  8 +4. Create a pull request
  9 +
  10 +We only accept pull requests if:
  11 +
  12 +* Your code has proper tests and all tests pass
  13 +* Your code can be merged w/o problems
  14 +* It wont broke existing functionality
  15 +* Its a quality code
  16 +* We like it :)
  17 +
  18 +## [You may need a developer VM](https://github.com/gitlabhq/developer-vm)
  19 +
  20 +## Running tests
  21 +
  22 +To run the specs for GitLab, you need to run seeds for test db.
  23 +
  24 + cd gitlabhq
  25 + rake db:seed_fu RAILS_ENV=test
  26 +
  27 +Then you can run the test suite with rake:
  28 +
  29 + rake gitlab:test
  30 +
... ...
Gemfile
1 1 source "http://rubygems.org"
2 2  
  3 +def darwin_only(require_as)
  4 + RUBY_PLATFORM.include?('darwin') && require_as
  5 +end
  6 +
  7 +def linux_only(require_as)
  8 + RUBY_PLATFORM.include?('linux') && require_as
  9 +end
  10 +
3 11 gem "rails", "3.2.8"
4 12  
5 13 # Supported DBs
... ... @@ -8,6 +16,10 @@ gem "mysql2"
8 16  
9 17 # Auth
10 18 gem "devise", "~> 2.1.0"
  19 +gem 'omniauth'
  20 +gem 'omniauth-google-oauth2'
  21 +gem 'omniauth-twitter'
  22 +gem 'omniauth-github'
11 23  
12 24 # GITLAB patched libs
13 25 gem "grit", :git => "https://github.com/gitlabhq/grit.git", :ref => "7f35cb98ff17d534a07e3ce6ec3d580f67402837"
... ... @@ -44,7 +56,8 @@ gem "ffaker"
44 56 gem "seed-fu"
45 57  
46 58 # Markdown to HTML
47   -gem "redcarpet", "~> 2.1.1"
  59 +gem "redcarpet", "~> 2.1.1"
  60 +gem "github-markup", "~> 0.7.4"
48 61  
49 62 # Servers
50 63 gem "thin"
... ... @@ -97,20 +110,28 @@ group :development do
97 110 end
98 111  
99 112 group :development, :test do
  113 + gem 'spinach-rails'
100 114 gem "rspec-rails"
101 115 gem "capybara"
102 116 gem "capybara-webkit"
103 117 gem "headless"
104   - gem "autotest"
105   - gem "autotest-rails"
106 118 gem "pry"
107 119 gem "awesome_print"
108 120 gem "database_cleaner"
109 121 gem "launchy"
  122 + gem 'factory_girl_rails'
  123 +
  124 + # Guard
  125 + gem 'guard-rspec'
  126 + gem 'guard-spinach'
  127 +
  128 + # Notification
  129 + gem 'rb-fsevent', :require => darwin_only('rb-fsevent')
  130 + gem 'growl', :require => darwin_only('growl')
  131 + gem 'rb-inotify', :require => linux_only('rb-inotify')
110 132 end
111 133  
112 134 group :test do
113   - gem 'cucumber-rails', :require => false
114 135 gem "simplecov", :require => false
115 136 gem "shoulda-matchers"
116 137 gem 'email_spec'
... ... @@ -119,5 +140,5 @@ group :test do
119 140 end
120 141  
121 142 group :production do
122   - gem "gitlab_meta", '2.8'
  143 + gem "gitlab_meta", '2.9'
123 144 end
... ...
Gemfile.lock
... ... @@ -68,7 +68,6 @@ GIT
68 68 GEM
69 69 remote: http://rubygems.org/
70 70 specs:
71   - ZenTest (4.8.1)
72 71 actionmailer (3.2.8)
73 72 actionpack (= 3.2.8)
74 73 mail (~> 2.4.4)
... ... @@ -100,15 +99,11 @@ GEM
100 99 rails (~> 3.0)
101 100 addressable (2.2.8)
102 101 arel (3.0.2)
103   - autotest (4.4.6)
104   - ZenTest (>= 4.4.1)
105   - autotest-rails (4.1.2)
106   - ZenTest (~> 4.5)
107 102 awesome_print (1.0.2)
108 103 bcrypt-ruby (3.0.1)
109 104 blankslate (2.1.2.4)
110 105 bootstrap-sass (2.0.4.0)
111   - builder (3.0.0)
  106 + builder (3.0.2)
112 107 capybara (1.1.2)
113 108 mime-types (>= 1.16)
114 109 nokogiri (>= 1.3.3)
... ... @@ -125,7 +120,7 @@ GEM
125 120 charlock_holmes (0.6.8)
126 121 childprocess (0.3.2)
127 122 ffi (~> 1.0.6)
128   - chosen-rails (0.9.8)
  123 + chosen-rails (0.9.8.3)
129 124 railties (~> 3.0)
130 125 thor (~> 0.14)
131 126 coderay (1.0.6)
... ... @@ -137,16 +132,8 @@ GEM
137 132 execjs
138 133 coffee-script-source (1.3.3)
139 134 colored (1.2)
  135 + colorize (0.5.8)
140 136 crack (0.3.1)
141   - cucumber (1.2.1)
142   - builder (>= 2.1.2)
143   - diff-lcs (>= 1.1.3)
144   - gherkin (~> 2.11.0)
145   - json (>= 1.4.6)
146   - cucumber-rails (1.3.0)
147   - capybara (>= 1.1.2)
148   - cucumber (>= 1.1.8)
149   - nokogiri (>= 1.5.0)
150 137 daemons (1.1.8)
151 138 database_cleaner (0.8.0)
152 139 devise (2.1.2)
... ... @@ -166,20 +153,36 @@ GEM
166 153 eventmachine (0.12.10)
167 154 execjs (1.4.0)
168 155 multi_json (~> 1.0)
  156 + factory_girl (4.0.0)
  157 + activesupport (>= 3.0.0)
  158 + factory_girl_rails (4.0.0)
  159 + factory_girl (~> 4.0.0)
  160 + railties (>= 3.0.0)
  161 + faraday (0.8.4)
  162 + multipart-post (~> 1.1)
169 163 ffaker (1.14.0)
170 164 ffi (1.0.11)
171 165 foreman (0.47.0)
172 166 thor (>= 0.13.6)
173   - gherkin (2.11.0)
174   - json (>= 1.4.6)
  167 + gherkin-ruby (0.2.1)
175 168 git (1.2.5)
176   - gitlab_meta (2.8)
  169 + github-markup (0.7.4)
  170 + gitlab_meta (2.9)
177 171 grape (0.2.1)
178 172 hashie (~> 1.2)
179 173 multi_json
180 174 multi_xml
181 175 rack
182 176 rack-mount
  177 + growl (1.0.3)
  178 + guard (1.3.2)
  179 + listen (>= 0.4.2)
  180 + thor (>= 0.14.6)
  181 + guard-rspec (1.2.1)
  182 + guard (>= 1.1)
  183 + guard-spinach (0.0.2)
  184 + guard (>= 1.1)
  185 + spinach
183 186 haml (3.1.6)
184 187 haml-rails (0.3.4)
185 188 actionpack (~> 3.0)
... ... @@ -193,7 +196,8 @@ GEM
193 196 httparty (0.8.3)
194 197 multi_json (~> 1.0)
195 198 multi_xml
196   - i18n (0.6.0)
  199 + httpauth (0.1)
  200 + i18n (0.6.1)
197 201 journey (1.0.4)
198 202 jquery-rails (2.0.2)
199 203 railties (>= 3.2.0, < 5.0)
... ... @@ -201,11 +205,12 @@ GEM
201 205 jquery-ui-rails (0.5.0)
202 206 jquery-rails
203 207 railties (>= 3.1.0)
204   - json (1.7.4)
205   - kaminari (0.13.0)
  208 + json (1.7.5)
  209 + jwt (0.1.5)
  210 + multi_json (>= 1.0)
  211 + kaminari (0.14.0)
206 212 actionpack (>= 3.0.0)
207 213 activesupport (>= 3.0.0)
208   - railties (>= 3.0.0)
209 214 kgio (2.7.4)
210 215 launchy (2.1.0)
211 216 addressable (~> 2.2.6)
... ... @@ -214,6 +219,7 @@ GEM
214 219 libv8 (3.3.10.4)
215 220 libwebsocket (0.1.3)
216 221 addressable
  222 + listen (0.5.0)
217 223 mail (2.4.4)
218 224 i18n (>= 0.4.0)
219 225 mime-types (~> 1.16)
... ... @@ -224,12 +230,35 @@ GEM
224 230 sprockets (~> 2.0)
225 231 multi_json (1.3.6)
226 232 multi_xml (0.5.1)
  233 + multipart-post (1.1.5)
227 234 mysql2 (0.3.11)
228 235 net-ldap (0.2.2)
229 236 nokogiri (1.5.3)
  237 + oauth (0.4.7)
  238 + oauth2 (0.8.0)
  239 + faraday (~> 0.8)
  240 + httpauth (~> 0.1)
  241 + jwt (~> 0.1.4)
  242 + multi_json (~> 1.0)
  243 + rack (~> 1.2)
230 244 omniauth (1.1.0)
231 245 hashie (~> 1.2)
232 246 rack
  247 + omniauth-github (1.0.3)
  248 + omniauth (~> 1.0)
  249 + omniauth-oauth2 (~> 1.1)
  250 + omniauth-google-oauth2 (0.1.13)
  251 + omniauth (~> 1.0)
  252 + omniauth-oauth2
  253 + omniauth-oauth (1.0.1)
  254 + oauth
  255 + omniauth (~> 1.0)
  256 + omniauth-oauth2 (1.1.0)
  257 + oauth2 (~> 0.8.0)
  258 + omniauth (~> 1.0)
  259 + omniauth-twitter (0.0.13)
  260 + multi_json (~> 1.3)
  261 + omniauth-oauth (~> 1.0)
233 262 orm_adapter (0.3.0)
234 263 polyglot (0.3.3)
235 264 posix-spawn (0.3.6)
... ... @@ -269,6 +298,9 @@ GEM
269 298 raindrops (0.9.0)
270 299 rake (0.9.2.2)
271 300 raphael-rails (1.5.2)
  301 + rb-fsevent (0.9.1)
  302 + rb-inotify (0.8.8)
  303 + ffi (>= 0.5.0)
272 304 rdoc (3.12)
273 305 json (~> 1.4)
274 306 redcarpet (2.1.1)
... ... @@ -319,7 +351,7 @@ GEM
319 351 multi_json (~> 1.0)
320 352 rubyzip
321 353 settingslogic (2.0.8)
322   - shoulda-matchers (1.1.0)
  354 + shoulda-matchers (1.3.0)
323 355 activesupport (>= 3.0.0)
324 356 simplecov (0.6.4)
325 357 multi_json (~> 1.0)
... ... @@ -331,6 +363,13 @@ GEM
331 363 tilt (~> 1.3, >= 1.3.3)
332 364 six (0.2.0)
333 365 slop (2.4.4)
  366 + spinach (0.5.2)
  367 + colorize
  368 + gherkin-ruby (~> 0.2.0)
  369 + spinach-rails (0.1.8)
  370 + capybara (~> 1)
  371 + railties (>= 3)
  372 + spinach (>= 0.4)
334 373 sprockets (2.1.3)
335 374 hike (~> 1.2)
336 375 rack (~> 1.0)
... ... @@ -343,7 +382,7 @@ GEM
343 382 daemons (>= 1.0.9)
344 383 eventmachine (>= 0.12.6)
345 384 rack (>= 1.0.0)
346   - thor (0.15.4)
  385 + thor (0.16.0)
347 386 tilt (1.3.3)
348 387 treetop (1.4.10)
349 388 polyglot
... ... @@ -372,8 +411,6 @@ PLATFORMS
372 411 DEPENDENCIES
373 412 acts-as-taggable-on (= 2.3.1)
374 413 annotate!
375   - autotest
376   - autotest-rails
377 414 awesome_print
378 415 bootstrap-sass (= 2.0.4)
379 416 capybara
... ... @@ -383,19 +420,23 @@ DEPENDENCIES
383 420 chosen-rails
384 421 coffee-rails (= 3.2.2)
385 422 colored
386   - cucumber-rails
387 423 database_cleaner
388 424 devise (~> 2.1.0)
389 425 draper
390 426 email_spec
  427 + factory_girl_rails
391 428 ffaker
392 429 foreman
393 430 git
394   - gitlab_meta (= 2.8)
  431 + github-markup (~> 0.7.4)
  432 + gitlab_meta (= 2.9)
395 433 gitolite!
396 434 grack!
397 435 grape (~> 0.2.1)
398 436 grit!
  437 + growl
  438 + guard-rspec
  439 + guard-spinach
399 440 haml-rails
400 441 headless
401 442 httparty
... ... @@ -407,12 +448,18 @@ DEPENDENCIES
407 448 linguist (~> 1.0.0)!
408 449 modernizr (= 2.5.3)
409 450 mysql2
  451 + omniauth
  452 + omniauth-github
  453 + omniauth-google-oauth2
410 454 omniauth-ldap!
  455 + omniauth-twitter
411 456 pry
412 457 pygments.rb!
413 458 rack-mini-profiler
414 459 rails (= 3.2.8)
415 460 raphael-rails (= 1.5.2)
  461 + rb-fsevent
  462 + rb-inotify
416 463 redcarpet (~> 2.1.1)
417 464 resque (~> 1.20.0)
418 465 resque_mailer
... ... @@ -424,6 +471,7 @@ DEPENDENCIES
424 471 shoulda-matchers
425 472 simplecov
426 473 six
  474 + spinach-rails
427 475 sqlite3
428 476 stamp
429 477 therubyracer
... ...
Guardfile 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +# A sample Guardfile
  2 +# More info at https://github.com/guard/guard#readme
  3 +
  4 +guard 'rspec', :version => 2, :all_on_start => false, :all_after_pass => false do
  5 + watch(%r{^spec/.+_spec\.rb$})
  6 + watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
  7 + watch(%r{^lib/api/(.+)\.rb$}) { |m| "spec/requests/api/#{m[1]}_spec.rb" }
  8 + watch('spec/spec_helper.rb') { "spec" }
  9 +
  10 + # Rails example
  11 + watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
  12 + watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
  13 + watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
  14 + watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
  15 + watch('config/routes.rb') { "spec/routing" }
  16 + watch('app/controllers/application_controller.rb') { "spec/controllers" }
  17 +
  18 + # Capybara request specs
  19 + watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
  20 +end
  21 +
  22 +guard 'spinach' do
  23 + watch(%r|^features/(.*)\.feature|)
  24 + watch(%r|^features/steps/(.*)([^/]+)\.rb|) do |m|
  25 + "features/#{m[1]}#{m[2]}.feature"
  26 + end
  27 +end
... ...
README.md
... ... @@ -39,5 +39,6 @@ Email
39 39  
40 40 ## Contribute
41 41  
  42 +[Development Tips](https://github.com/gitlabhq/gitlabhq/blob/master/doc/development.md)
42 43 Want to help - send a pull request.
43 44 We'll accept good pull requests.
... ...
VERSION
1   -2.8.2
  1 +2.9.0
... ...
app/assets/images/emoji/+1.png 0 → 100755

5.01 KB

app/assets/images/emoji/-1.png 0 → 100755

4.95 KB

app/assets/images/emoji/100.png 0 → 100755

3.22 KB

app/assets/images/emoji/109.png 0 → 100755

3.61 KB

app/assets/images/emoji/1234.png 0 → 100755

4.64 KB

app/assets/images/emoji/8ball.png 0 → 100755

4.04 KB

app/assets/images/emoji/a.png 0 → 100755

3.08 KB

app/assets/images/emoji/ab.png 0 → 100755

3.77 KB

app/assets/images/emoji/abc.png 0 → 100755

4.15 KB

app/assets/images/emoji/abcd.png 0 → 100755

4.37 KB

app/assets/images/emoji/accept.png 0 → 100755

4.62 KB

app/assets/images/emoji/aerial_tramway.png 0 → 100755

3.41 KB

app/assets/images/emoji/airplane.png 0 → 100755

4.63 KB

app/assets/images/emoji/alarm_clock.png 0 → 100755

6.9 KB

app/assets/images/emoji/alien.png 0 → 100755

5.33 KB

app/assets/images/emoji/ambulance.png 0 → 100755

3.62 KB

app/assets/images/emoji/anchor.png 0 → 100755

4.37 KB

app/assets/images/emoji/angel.png 0 → 100755

6.52 KB

app/assets/images/emoji/anger.png 0 → 100755

3.01 KB

app/assets/images/emoji/angry.png 0 → 100755

4.92 KB

app/assets/images/emoji/ant.png 0 → 100755

2.78 KB

app/assets/images/emoji/apple.png 0 → 100755

5.5 KB

app/assets/images/emoji/aquarius.png 0 → 100755

4.98 KB

app/assets/images/emoji/aries.png 0 → 100755

4.24 KB

app/assets/images/emoji/arrow_backward.png 0 → 100755

3.11 KB

app/assets/images/emoji/arrow_double_down.png 0 → 100755

3.1 KB

app/assets/images/emoji/arrow_double_up.png 0 → 100755

3.53 KB

app/assets/images/emoji/arrow_down.png 0 → 100755

2.94 KB

app/assets/images/emoji/arrow_down_small.png 0 → 100755

2.87 KB

app/assets/images/emoji/arrow_forward.png 0 → 100755

3.13 KB

app/assets/images/emoji/arrow_heading_down.png 0 → 100755

3.44 KB

app/assets/images/emoji/arrow_heading_up.png 0 → 100755

3.44 KB

app/assets/images/emoji/arrow_left.png 0 → 100755

2.97 KB

app/assets/images/emoji/arrow_lower_left.png 0 → 100755

3.26 KB

app/assets/images/emoji/arrow_lower_right.png 0 → 100755

3.26 KB

app/assets/images/emoji/arrow_right.png 0 → 100755

2.95 KB

app/assets/images/emoji/arrow_right_hook.png 0 → 100755

3.63 KB

app/assets/images/emoji/arrow_up.png 0 → 100755

3 KB

app/assets/images/emoji/arrow_up_down.png 0 → 100755

3.46 KB

app/assets/images/emoji/arrow_up_small.png 0 → 100755

3.12 KB

app/assets/images/emoji/arrow_upper_left.png 0 → 100755

3.15 KB

app/assets/images/emoji/arrow_upper_right.png 0 → 100755

3.16 KB

app/assets/images/emoji/arrows_clockwise.png 0 → 100755

1.37 KB

app/assets/images/emoji/arrows_counterclockwise.png 0 → 100755

4.71 KB

app/assets/images/emoji/art.png 0 → 100755

6.59 KB

app/assets/images/emoji/articulated_lorry.png 0 → 100755

2.87 KB

app/assets/images/emoji/astonished.png 0 → 100755

5.9 KB

app/assets/images/emoji/atm.png 0 → 100755

3.98 KB

app/assets/images/emoji/b.png 0 → 100755

2.95 KB

app/assets/images/emoji/baby.png 0 → 100755

5.78 KB

app/assets/images/emoji/baby_bottle.png 0 → 100755

4.36 KB

app/assets/images/emoji/baby_chick.png 0 → 100755

3.87 KB

app/assets/images/emoji/baby_symbol.png 0 → 100755

2.9 KB

app/assets/images/emoji/baggage_claim.png 0 → 100755

3.42 KB

app/assets/images/emoji/balloon.png 0 → 100755

2.25 KB

app/assets/images/emoji/ballot_box_with_check.png 0 → 100755

1.79 KB

app/assets/images/emoji/bamboo.png 0 → 100755

4.56 KB

app/assets/images/emoji/banana.png 0 → 100755

3.82 KB

app/assets/images/emoji/bangbang.png 0 → 100755

1.35 KB

app/assets/images/emoji/bank.png 0 → 100755

5.45 KB

app/assets/images/emoji/bar_chart.png 0 → 100755

2.4 KB

app/assets/images/emoji/barber.png 0 → 100755

4.15 KB

app/assets/images/emoji/baseball.png 0 → 100755

5.89 KB

app/assets/images/emoji/basketball.png 0 → 100755

6.24 KB

app/assets/images/emoji/bath.png 0 → 100755

3.13 KB

app/assets/images/emoji/bathtub.png 0 → 100755

2.72 KB

app/assets/images/emoji/battery.png 0 → 100755

3.72 KB

app/assets/images/emoji/bear.png 0 → 100755

5.43 KB

app/assets/images/emoji/beer.png 0 → 100755

5.95 KB

app/assets/images/emoji/beers.png 0 → 100755

6.44 KB

app/assets/images/emoji/beetle.png 0 → 100755

5.13 KB

app/assets/images/emoji/beginner.png 0 → 100755

2.7 KB

app/assets/images/emoji/bell.png 0 → 100755

4.75 KB

app/assets/images/emoji/bento.png 0 → 100755

5.6 KB

app/assets/images/emoji/bicyclist.png 0 → 100755

6.33 KB

app/assets/images/emoji/bike.png 0 → 100755

4.61 KB

app/assets/images/emoji/bikini.png 0 → 100755

3.8 KB

app/assets/images/emoji/bird.png 0 → 100755

4.76 KB

app/assets/images/emoji/birthday.png 0 → 100755

5.28 KB

app/assets/images/emoji/black_circle.png 0 → 100755

2.31 KB

app/assets/images/emoji/black_joker.png 0 → 100755

3.79 KB

app/assets/images/emoji/black_nib.png 0 → 100755

2.3 KB

app/assets/images/emoji/black_square.png 0 → 100755

1.3 KB

app/assets/images/emoji/blossom.png 0 → 100755

4.13 KB

app/assets/images/emoji/blowfish.png 0 → 100755

3.66 KB

app/assets/images/emoji/blue_book.png 0 → 100755

4.97 KB

app/assets/images/emoji/blue_car.png 0 → 100755

3.99 KB

app/assets/images/emoji/blue_heart.png 0 → 100755

4 KB

app/assets/images/emoji/blush.png 0 → 100755

5.07 KB

app/assets/images/emoji/boar.png 0 → 100755

4.73 KB

app/assets/images/emoji/boat.png 0 → 100755

3.74 KB