Commit 6dd47c5905d3a697137843546f0623a558c394a4
Exists in
master
and in
4 other branches
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
.travis.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 | ... | ... |
| ... | ... | @@ -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 | ... | ... |
| ... | ... | @@ -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
VERSION
5.01 KB
4.95 KB
3.22 KB
3.61 KB
4.64 KB
4.04 KB
3.08 KB
3.77 KB
4.15 KB
4.37 KB
4.62 KB
3.41 KB
4.63 KB
6.9 KB
5.33 KB
3.62 KB
4.37 KB
6.52 KB
3.01 KB
4.92 KB
2.78 KB
5.5 KB
4.98 KB
4.24 KB
3.11 KB
3.1 KB
3.53 KB
2.94 KB
2.87 KB
3.13 KB
3.44 KB
3.44 KB
2.97 KB
3.26 KB
3.26 KB
2.95 KB
3.63 KB
3 KB
3.46 KB
3.12 KB
3.15 KB
3.16 KB
1.37 KB
4.71 KB
6.59 KB
2.87 KB
5.9 KB
3.98 KB
2.95 KB
5.78 KB
4.36 KB
3.87 KB
2.9 KB
3.42 KB
2.25 KB
1.79 KB
4.56 KB
3.82 KB
1.35 KB
5.45 KB
2.4 KB
4.15 KB
5.89 KB
6.24 KB
3.13 KB
2.72 KB
3.72 KB
5.43 KB
5.95 KB
6.44 KB
5.13 KB
2.7 KB
4.75 KB
5.6 KB
6.33 KB
4.61 KB
3.8 KB
4.76 KB
5.28 KB
2.31 KB
3.79 KB
2.3 KB
1.3 KB
4.13 KB
3.66 KB
4.97 KB
3.99 KB
4 KB
5.07 KB
4.73 KB
3.74 KB