summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md10
-rw-r--r--app/assets/images/ajax_loader.gifbin7927 -> 7911 bytes
-rw-r--r--app/assets/images/ajax_loader_gray.gifbin8370 -> 7778 bytes
-rw-r--r--app/assets/images/ajax_loader_tree.gifbin6531 -> 3161 bytes
-rw-r--r--app/assets/images/bg-header.pngbin212 -> 210 bytes
-rw-r--r--app/assets/images/dark-scheme-preview.pngbin16935 -> 9873 bytes
-rw-r--r--app/assets/images/file_txt.pngbin290 -> 463 bytes
-rw-r--r--app/assets/images/icon-search.pngbin422 -> 331 bytes
-rw-r--r--app/assets/images/images.pngbin8698 -> 6644 bytes
-rw-r--r--app/assets/images/logo-black.pngbin3018 -> 2797 bytes
-rw-r--r--app/assets/images/logo-white.pngbin8337 -> 7501 bytes
-rw-r--r--app/assets/images/monokai-scheme-preview.pngbin6651 -> 4332 bytes
-rw-r--r--app/assets/images/no_avatar.pngbin1337 -> 704 bytes
-rw-r--r--app/assets/images/onion_skin_sprites.gifbin1584 -> 548 bytes
-rw-r--r--app/assets/images/solarized-dark-scheme-preview.pngbin16320 -> 9902 bytes
-rw-r--r--app/assets/images/swipemode_sprites.gifbin1540 -> 505 bytes
-rw-r--r--app/assets/images/switch_icon.pngbin1203 -> 1197 bytes
-rw-r--r--app/assets/images/trans_bg.gifbin58 -> 50 bytes
-rw-r--r--app/assets/images/white-scheme-preview.pngbin17161 -> 10022 bytes
-rw-r--r--app/assets/stylesheets/generic/common.scss10
-rw-r--r--app/assets/stylesheets/main/layout.scss2
-rw-r--r--app/assets/stylesheets/sections/header.scss55
-rw-r--r--app/assets/stylesheets/sections/nav.scss34
-rw-r--r--app/assets/stylesheets/themes/ui_color.scss2
-rw-r--r--app/assets/stylesheets/themes/ui_gray.scss2
-rw-r--r--app/assets/stylesheets/themes/ui_mars.scss2
-rw-r--r--app/assets/stylesheets/themes/ui_modern.scss2
-rw-r--r--app/controllers/errors_controller.rb2
-rw-r--r--app/mailers/notify.rb2
-rw-r--r--app/models/project_services/hipchat_service.rb2
-rw-r--r--app/views/dashboard/show.html.haml2
-rw-r--r--app/views/layouts/_head_panel.html.haml6
-rw-r--r--app/views/layouts/admin.html.haml2
-rw-r--r--app/views/layouts/application.html.haml2
-rw-r--r--app/views/layouts/group.html.haml2
-rw-r--r--app/views/layouts/profile.html.haml2
-rw-r--r--app/views/layouts/project_settings.html.haml2
-rw-r--r--app/views/layouts/projects.html.haml2
-rw-r--r--app/views/layouts/public_projects.html.haml2
-rw-r--r--app/views/layouts/user_team.html.haml2
-rw-r--r--app/views/projects/snippets/_snippet.html.haml7
-rw-r--r--app/views/shared/_no_ssh.html.haml8
-rw-r--r--config/gitlab.yml.example5
-rw-r--r--config/initializers/1_settings.rb10
-rw-r--r--config/routes.rb2
-rw-r--r--db/migrate/20140122114406_migrate_mr_diffs.rb4
-rw-r--r--db/migrate/20140122122549_remove_m_rdiff_fields.rb12
-rw-r--r--doc/install/installation.md6
-rw-r--r--doc/install/requirements.md5
-rw-r--r--doc/raketasks/backup_restore.md15
-rw-r--r--doc/release/monthly.md3
-rw-r--r--doc/update/6.4-to-6.5.md2
-rw-r--r--doc/update/upgrader.md12
-rw-r--r--lib/gitlab/blacklist.rb2
-rw-r--r--lib/gitlab/upgrader.rb2
-rw-r--r--lib/support/nginx/gitlab17
-rw-r--r--public/gitlab_logo.pngbin17388 -> 13819 bytes
-rw-r--r--spec/models/project_spec.rb2
-rw-r--r--spec/routing/routing_spec.rb7
-rw-r--r--vendor/assets/images/authbuttons/github_32.pngbin1931 -> 1902 bytes
-rw-r--r--vendor/assets/images/authbuttons/github_64.pngbin4447 -> 4444 bytes
-rw-r--r--vendor/assets/images/authbuttons/google_32.pngbin1615 -> 1611 bytes
-rw-r--r--vendor/assets/images/authbuttons/google_64.pngbin3446 -> 3437 bytes
-rw-r--r--vendor/assets/images/authbuttons/twitter_32.pngbin1439 -> 1417 bytes
-rw-r--r--vendor/assets/images/authbuttons/twitter_64.pngbin3384 -> 3328 bytes
-rw-r--r--vendor/assets/images/bg_fallback.pngbin3721 -> 2976 bytes
-rw-r--r--vendor/assets/images/icon_sprite.pngbin3217 -> 2782 bytes
-rw-r--r--vendor/assets/images/progress_bar.gifbin502 -> 494 bytes
-rw-r--r--vendor/assets/images/slider_handles.pngbin4453 -> 4122 bytes
-rw-r--r--vendor/assets/images/ui-icons_222222_256x240.pngbin4369 -> 4193 bytes
-rw-r--r--vendor/assets/images/ui-icons_454545_256x240.pngbin4369 -> 4193 bytes
71 files changed, 200 insertions, 70 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index cb5c218920d..0a97faaf301 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -67,7 +67,13 @@ If you can, please submit a merge request with the fix or improvements including
1. Link relevant [issues](https://gitlab.com/gitlab-org/gitlab-ce/issues) and/or [feedback items](http://feedback.gitlab.com/) from the merge request description and leave a comment on them with a link back to the MR
1. Be prepared to answer questions and incorporate feedback even if requests for this arrive weeks or months after your MR submittion
-Please keep the change in a single MR as small as possible. If you want to contribute a large feature think very hard what the minimum viable change is. Can you split functionality? Can you only submit the backend/API code? Can you start with a very simple UI? The smaller a MR is the more likely it is it will be merged, after that you can send more MR's to enhance it.
+Please keep the change in a single MR **as small as possible**. If you want to contribute a large feature think very hard what the minimum viable change is. Can you split functionality? Can you only submit the backend/API code? Can you start with a very simple UI? The smaller a MR is the more likely it is it will be merged, after that you can send more MR's to enhance it.
+
+The **official merge window** is in the beginning of the month from the 1st to the 7th day of the month.
+The best time to submit a MR and get feedback fast.
+Before this time the GitLab.com team is still dealing with work that is created by the monthly release such as assisting subscribers with upgrade issues, the release of Enterprise Edition and the upgrade of GitLab Cloud.
+After the 7th it is already getting closer to the release date of the next version.
+This means there is less time to fix the issues created by merging large new features.
We will accept a merge requests if it:
@@ -78,7 +84,7 @@ We will accept a merge requests if it:
* Fixes one specific issue or implements one specific feature (do not combine things, send separate merge requests if needed)
* Keeps the GitLab code base clean and well structured
* Contains functionality we think other users will benefit from too
-* Doesn't add unnessecary configuration options since they complicate future changes
+* Doesn't add avoidable configuration options since these complicate future changes
* Contains a single commit (please use `git rebase -i` to squash commits)
For examples of feedback on merge requests please look at already [closed merge requests](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests?assignee_id=&label_name=&milestone_id=&scope=&sort=&state=closed).
diff --git a/app/assets/images/ajax_loader.gif b/app/assets/images/ajax_loader.gif
index 8a97c91987a..d0f093033d6 100644
--- a/app/assets/images/ajax_loader.gif
+++ b/app/assets/images/ajax_loader.gif
Binary files differ
diff --git a/app/assets/images/ajax_loader_gray.gif b/app/assets/images/ajax_loader_gray.gif
index af3f618bd0b..fdf2c98a961 100644
--- a/app/assets/images/ajax_loader_gray.gif
+++ b/app/assets/images/ajax_loader_gray.gif
Binary files differ
diff --git a/app/assets/images/ajax_loader_tree.gif b/app/assets/images/ajax_loader_tree.gif
index 99d5a0f37f3..47ba01264ce 100644
--- a/app/assets/images/ajax_loader_tree.gif
+++ b/app/assets/images/ajax_loader_tree.gif
Binary files differ
diff --git a/app/assets/images/bg-header.png b/app/assets/images/bg-header.png
index 8759ca589fc..9ecdaf4e2d5 100644
--- a/app/assets/images/bg-header.png
+++ b/app/assets/images/bg-header.png
Binary files differ
diff --git a/app/assets/images/dark-scheme-preview.png b/app/assets/images/dark-scheme-preview.png
index 055a9069b63..6dac6cd8ca1 100644
--- a/app/assets/images/dark-scheme-preview.png
+++ b/app/assets/images/dark-scheme-preview.png
Binary files differ
diff --git a/app/assets/images/file_txt.png b/app/assets/images/file_txt.png
index f3638cb4e1e..b3230b5add0 100644
--- a/app/assets/images/file_txt.png
+++ b/app/assets/images/file_txt.png
Binary files differ
diff --git a/app/assets/images/icon-search.png b/app/assets/images/icon-search.png
index 7632915cacc..084b89e3a7c 100644
--- a/app/assets/images/icon-search.png
+++ b/app/assets/images/icon-search.png
Binary files differ
diff --git a/app/assets/images/images.png b/app/assets/images/images.png
index 973d3bdd39d..da91f6b1f4c 100644
--- a/app/assets/images/images.png
+++ b/app/assets/images/images.png
Binary files differ
diff --git a/app/assets/images/logo-black.png b/app/assets/images/logo-black.png
index 31c4a63cd08..4a96572d570 100644
--- a/app/assets/images/logo-black.png
+++ b/app/assets/images/logo-black.png
Binary files differ
diff --git a/app/assets/images/logo-white.png b/app/assets/images/logo-white.png
index 8a4ec851b1d..bc2ef601a53 100644
--- a/app/assets/images/logo-white.png
+++ b/app/assets/images/logo-white.png
Binary files differ
diff --git a/app/assets/images/monokai-scheme-preview.png b/app/assets/images/monokai-scheme-preview.png
index 9477941778e..3aeed886a02 100644
--- a/app/assets/images/monokai-scheme-preview.png
+++ b/app/assets/images/monokai-scheme-preview.png
Binary files differ
diff --git a/app/assets/images/no_avatar.png b/app/assets/images/no_avatar.png
index 752d26adba7..dac3ab1bb89 100644
--- a/app/assets/images/no_avatar.png
+++ b/app/assets/images/no_avatar.png
Binary files differ
diff --git a/app/assets/images/onion_skin_sprites.gif b/app/assets/images/onion_skin_sprites.gif
index 85d20260edc..337aa1bfb63 100644
--- a/app/assets/images/onion_skin_sprites.gif
+++ b/app/assets/images/onion_skin_sprites.gif
Binary files differ
diff --git a/app/assets/images/solarized-dark-scheme-preview.png b/app/assets/images/solarized-dark-scheme-preview.png
index 728964bc4c8..ae092ab5213 100644
--- a/app/assets/images/solarized-dark-scheme-preview.png
+++ b/app/assets/images/solarized-dark-scheme-preview.png
Binary files differ
diff --git a/app/assets/images/swipemode_sprites.gif b/app/assets/images/swipemode_sprites.gif
index 327b3c31ffd..b010b4e4482 100644
--- a/app/assets/images/swipemode_sprites.gif
+++ b/app/assets/images/swipemode_sprites.gif
Binary files differ
diff --git a/app/assets/images/switch_icon.png b/app/assets/images/switch_icon.png
index 7c11f206593..6b8bde41bc9 100644
--- a/app/assets/images/switch_icon.png
+++ b/app/assets/images/switch_icon.png
Binary files differ
diff --git a/app/assets/images/trans_bg.gif b/app/assets/images/trans_bg.gif
index c7e98e044f5..5f6ed04a43c 100644
--- a/app/assets/images/trans_bg.gif
+++ b/app/assets/images/trans_bg.gif
Binary files differ
diff --git a/app/assets/images/white-scheme-preview.png b/app/assets/images/white-scheme-preview.png
index 67eb8763044..d1866e00158 100644
--- a/app/assets/images/white-scheme-preview.png
+++ b/app/assets/images/white-scheme-preview.png
Binary files differ
diff --git a/app/assets/stylesheets/generic/common.scss b/app/assets/stylesheets/generic/common.scss
index 79a217186de..507e7197d5f 100644
--- a/app/assets/stylesheets/generic/common.scss
+++ b/app/assets/stylesheets/generic/common.scss
@@ -327,6 +327,12 @@ li.note {
color: #fff;
text-decoration: underline;
}
+
+ .links-xs {
+ text-align: center;
+ font-size: 16px;
+ padding: 5px;
+ }
}
.warning_message {
@@ -485,3 +491,7 @@ table {
margin-bottom: 15px;
}
}
+
+@media (max-width: $screen-xs-max) {
+ .container .content { margin-top: 20px; }
+}
diff --git a/app/assets/stylesheets/main/layout.scss b/app/assets/stylesheets/main/layout.scss
index a4d889f26dd..9e009a5e0ad 100644
--- a/app/assets/stylesheets/main/layout.scss
+++ b/app/assets/stylesheets/main/layout.scss
@@ -1,5 +1,7 @@
html {
overflow-y: scroll;
+
+ &.touch .tooltip { display: none !important; }
}
body {
diff --git a/app/assets/stylesheets/sections/header.scss b/app/assets/stylesheets/sections/header.scss
index b0dd0d08356..780f281dd7e 100644
--- a/app/assets/stylesheets/sections/header.scss
+++ b/app/assets/stylesheets/sections/header.scss
@@ -29,6 +29,59 @@ header {
float: right;
margin-right: 0;
}
+
+ .navbar-toggle {
+ color: $style_color;
+ margin: 0 -15px 0 0;
+ padding: 10px;
+ border-radius: 0;
+
+ button i { font-size: 22px; }
+
+ &.collapsed { background-color: transparent !important;}
+
+ &:hover {
+ background-color: #EEE;
+ }
+ }
+ }
+
+ @media (max-width: $screen-xs-max) {
+ border-width: 0;
+ font-size: 18px;
+
+ .app_logo { margin-left: -15px; }
+ .project_name {
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ vertical-align: top;
+ white-space: nowrap;
+ max-width: 70%;
+ }
+
+ .navbar-collapse {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ .navbar-nav {
+ margin: 5px 0;
+
+ .visible-xs, .visable-sm {
+ display: table-cell !important;
+ }
+ }
+
+ li {
+ display: table-cell;
+ width: 1%;
+
+ a {
+ text-align: center;
+ font-size: 18px !important;
+ }
+ }
}
}
@@ -128,6 +181,8 @@ header {
background: #708090;
border-bottom: 1px solid #AAA;
+ .navbar-toggle { color: #fff; }
+
.nav > li > a {
color: #AAA;
text-shadow: 0 1px 0 #444;
diff --git a/app/assets/stylesheets/sections/nav.scss b/app/assets/stylesheets/sections/nav.scss
index f706854b4fe..7dd80dc52fa 100644
--- a/app/assets/stylesheets/sections/nav.scss
+++ b/app/assets/stylesheets/sections/nav.scss
@@ -83,4 +83,38 @@
padding-top: 2px;
}
}
+
+ @media (max-width: $screen-xs-max) {
+ font-size: 18px;
+ margin: 0;
+
+ max-height: none;
+
+ &, .container {
+ padding: 0;
+ border-top: 0;
+ }
+
+ ul {
+ height: auto;
+
+ li {
+ display: list-item;
+ width: auto;
+ padding: 5px 0;
+
+ &.active {
+ background-color: $primary_color;
+
+ a {
+ color: #fff;
+ font-weight: normal;
+ text-shadow: none;
+
+ &:after { display: none; }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/app/assets/stylesheets/themes/ui_color.scss b/app/assets/stylesheets/themes/ui_color.scss
index 7d9cab215c8..0fc72d4e0a8 100644
--- a/app/assets/stylesheets/themes/ui_color.scss
+++ b/app/assets/stylesheets/themes/ui_color.scss
@@ -18,7 +18,7 @@
.navbar-inner {
background: #547;
border-bottom: 1px solid #435;
- .app_logo {
+ .app_logo, .navbar-toggle {
&:hover {
background-color: #435;
}
diff --git a/app/assets/stylesheets/themes/ui_gray.scss b/app/assets/stylesheets/themes/ui_gray.scss
index 41c08c840e2..959febad6fe 100644
--- a/app/assets/stylesheets/themes/ui_gray.scss
+++ b/app/assets/stylesheets/themes/ui_gray.scss
@@ -18,7 +18,7 @@
.navbar-inner {
background: #373737;
border-bottom: 1px solid #272727;
- .app_logo {
+ .app_logo, .navbar-toggle {
&:hover {
background-color: #272727;
}
diff --git a/app/assets/stylesheets/themes/ui_mars.scss b/app/assets/stylesheets/themes/ui_mars.scss
index aba3e0ca827..9af5adbf10a 100644
--- a/app/assets/stylesheets/themes/ui_mars.scss
+++ b/app/assets/stylesheets/themes/ui_mars.scss
@@ -18,7 +18,7 @@
.navbar-inner {
background: #474D57;
border-bottom: 1px solid #373D47;
- .app_logo {
+ .app_logo, .navbar-toggle {
&:hover {
background-color: #373D47;
}
diff --git a/app/assets/stylesheets/themes/ui_modern.scss b/app/assets/stylesheets/themes/ui_modern.scss
index 015a4bbf0c3..b0827deb1ac 100644
--- a/app/assets/stylesheets/themes/ui_modern.scss
+++ b/app/assets/stylesheets/themes/ui_modern.scss
@@ -18,7 +18,7 @@
.navbar-inner {
background: #345;
border-bottom: 1px solid #234;
- .app_logo {
+ .app_logo, .navbar-toggle {
&:hover {
background-color: #234;
}
diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb
deleted file mode 100644
index a0c8a000fc7..00000000000
--- a/app/controllers/errors_controller.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-class ErrorsController < ApplicationController
-end
diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index aec4c57cba8..6c1a3328960 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -12,7 +12,7 @@ class Notify < ActionMailer::Base
default_url_options[:host] = Gitlab.config.gitlab.host
default_url_options[:protocol] = Gitlab.config.gitlab.protocol
- default_url_options[:port] = Gitlab.config.gitlab.port if Gitlab.config.gitlab_on_non_standard_port?
+ default_url_options[:port] = Gitlab.config.gitlab.port unless Gitlab.config.gitlab_on_standard_port?
default_url_options[:script_name] = Gitlab.config.gitlab.relative_url_root
default from: Gitlab.config.gitlab.email_from
diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb
index ea2169fb168..c0ba9f1e7f3 100644
--- a/app/models/project_services/hipchat_service.rb
+++ b/app/models/project_services/hipchat_service.rb
@@ -61,7 +61,7 @@ class HipchatService < Service
elsif after =~ /000000/
message << "removed branch #{ref} from <a href=\"#{project.web_url}\">#{project.name_with_namespace.gsub!(/\s/,'')}</a> \n"
else
- message << "#pushed to branch <a href=\"#{project.web_url}/commits/#{ref}\">#{ref}</a> "
+ message << "pushed to branch <a href=\"#{project.web_url}/commits/#{ref}\">#{ref}</a> "
message << "of <a href=\"#{project.web_url}\">#{project.name_with_namespace.gsub!(/\s/,'')}</a> "
message << "(<a href=\"#{project.web_url}/compare/#{before}...#{after}\">Compare changes</a>)"
for commit in push[:commits] do
diff --git a/app/views/dashboard/show.html.haml b/app/views/dashboard/show.html.haml
index c4018d4b6d8..e5b7fbf097e 100644
--- a/app/views/dashboard/show.html.haml
+++ b/app/views/dashboard/show.html.haml
@@ -2,7 +2,7 @@
.dashboard.row
.activities.col-md-8
= render 'activities'
- .side.col-md-4.hidden-sm
+ .side.col-md-4.hidden-sm.hidden-xs
= render 'sidebar'
- else
diff --git a/app/views/layouts/_head_panel.html.haml b/app/views/layouts/_head_panel.html.haml
index 58b216f2e98..32debb8c7ac 100644
--- a/app/views/layouts/_head_panel.html.haml
+++ b/app/views/layouts/_head_panel.html.haml
@@ -14,14 +14,14 @@
.navbar-collapse.collapse
%ul.nav.navbar-nav
- %li
+ %li.hidden-sm.hidden-xs
%a
%div.hide.turbolink-spinner
%i.icon-refresh.icon-spin
Loading...
- %li.hidden-sm
+ %li.hidden-sm.hidden-xs
= render "layouts/search"
- %li.visible-sm
+ %li.visible-sm.visible-xs
= link_to search_path, title: "Search", class: 'has_bottom_tooltip', 'data-original-title' => 'Search area' do
%i.icon-search
%li
diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml
index 3a23cbdb376..439cb978a76 100644
--- a/app/views/layouts/admin.html.haml
+++ b/app/views/layouts/admin.html.haml
@@ -4,7 +4,7 @@
%body{class: "#{app_theme} admin", :'data-page' => body_data_page}
= render "layouts/head_panel", title: "Admin area"
= render "layouts/flash"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/admin'
.container
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 92edc718235..511db389e0f 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -5,7 +5,7 @@
= render "layouts/broadcast"
= render "layouts/head_panel", title: "Dashboard"
= render "layouts/flash"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/dashboard'
.container
diff --git a/app/views/layouts/group.html.haml b/app/views/layouts/group.html.haml
index b546a9fa84f..fb4a3a3ba95 100644
--- a/app/views/layouts/group.html.haml
+++ b/app/views/layouts/group.html.haml
@@ -5,7 +5,7 @@
= render "layouts/broadcast"
= render "layouts/head_panel", title: "group: #{@group.name}"
= render "layouts/flash"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/group'
.container
diff --git a/app/views/layouts/profile.html.haml b/app/views/layouts/profile.html.haml
index 72849639571..2d869a6cdcb 100644
--- a/app/views/layouts/profile.html.haml
+++ b/app/views/layouts/profile.html.haml
@@ -5,7 +5,7 @@
= render "layouts/broadcast"
= render "layouts/head_panel", title: "Profile"
= render "layouts/flash"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/profile'
.container
diff --git a/app/views/layouts/project_settings.html.haml b/app/views/layouts/project_settings.html.haml
index a55f043f2cf..5659cfab31d 100644
--- a/app/views/layouts/project_settings.html.haml
+++ b/app/views/layouts/project_settings.html.haml
@@ -9,7 +9,7 @@
- if can?(current_user, :download_code, @project)
= render 'shared/no_ssh'
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/project'
.container
diff --git a/app/views/layouts/projects.html.haml b/app/views/layouts/projects.html.haml
index 55214c6a5c9..3ae4961b137 100644
--- a/app/views/layouts/projects.html.haml
+++ b/app/views/layouts/projects.html.haml
@@ -9,7 +9,7 @@
- if can?(current_user, :download_code, @project)
= render 'shared/no_ssh'
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/project'
.container
diff --git a/app/views/layouts/public_projects.html.haml b/app/views/layouts/public_projects.html.haml
index 1e8814134f5..a8e3236d865 100644
--- a/app/views/layouts/public_projects.html.haml
+++ b/app/views/layouts/public_projects.html.haml
@@ -3,7 +3,7 @@
= render "layouts/head", title: @project.name_with_namespace
%body{class: "#{app_theme} application", :'data-page' => body_data_page}
= render "layouts/public_head_panel"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/project'
.container
.content= yield
diff --git a/app/views/layouts/user_team.html.haml b/app/views/layouts/user_team.html.haml
index e64e68d2446..191ad406c3c 100644
--- a/app/views/layouts/user_team.html.haml
+++ b/app/views/layouts/user_team.html.haml
@@ -4,7 +4,7 @@
%body{class: "#{app_theme} application", :'data-page' => body_data_page}
= render "layouts/head_panel", title: "team: #{@team.name}"
= render "layouts/flash"
- %nav.main-nav
+ %nav.main-nav.navbar-collapse.collapse
.container= render 'layouts/nav/team'
.container
diff --git a/app/views/projects/snippets/_snippet.html.haml b/app/views/projects/snippets/_snippet.html.haml
index ddd9645ee51..b2c35edc44c 100644
--- a/app/views/projects/snippets/_snippet.html.haml
+++ b/app/views/projects/snippets/_snippet.html.haml
@@ -5,13 +5,6 @@
%span.cgray.monospace.tiny.pull-right
= snippet.file_name
- %small.pull-right.cgray
- Expires:
- - if snippet.expires_at
- = snippet.expires_at.to_date.to_s(:short)
- - else
- Never
-
.snippet-info
= "##{snippet.id}"
%span
diff --git a/app/views/shared/_no_ssh.html.haml b/app/views/shared/_no_ssh.html.haml
index 077e6c6a808..e70eb4d01b9 100644
--- a/app/views/shared/_no_ssh.html.haml
+++ b/app/views/shared/_no_ssh.html.haml
@@ -2,7 +2,13 @@
.no-ssh-key-message
.container
You won't be able to pull or push project code via SSH until you #{link_to 'add an SSH key', new_profile_key_path} to your profile
- %div.pull-right
+ .pull-right.hidden-xs
= link_to "Don't show again", profile_path(user: {hide_no_ssh_key: true}), method: :put, class: 'hide-no-ssh-message', remote: true
|
= link_to 'Remind later', '#', class: 'hide-no-ssh-message'
+ .links-xs.visible-xs
+ = link_to "Add key", new_profile_key_path
+ |
+ = link_to "Don't show again", profile_path(user: {hide_no_ssh_key: true}), method: :put, class: 'hide-no-ssh-message', remote: true
+ |
+ = link_to 'Later', '#', class: 'hide-no-ssh-message'
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index c63e8cb7ded..da87deddec8 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -14,7 +14,7 @@ production: &base
## GitLab settings
gitlab:
- ## Web server settings
+ ## Web server settings (note: host is the FQDN, do not include http://)
host: localhost
port: 80
https: false
@@ -202,7 +202,8 @@ production: &base
# Use the default values unless you really know what you are doing
git:
bin_path: /usr/bin/git
- # Max size of a git object (e.g. a commit), in bytes
+ # The next value is the maximum memory size grit can use
+ # Given in number of bytes per git object (e.g. a commit)
# This value can be increased if you have very large commits
max_size: 5242880 # 5.megabytes
# Git timeout to read a commit, in seconds
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index ea391ca601c..cf6c79bb50e 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -3,8 +3,8 @@ class Settings < Settingslogic
namespace Rails.env
class << self
- def gitlab_on_non_standard_port?
- ![443, 80].include?(gitlab.port.to_i)
+ def gitlab_on_standard_port?
+ gitlab.port.to_i == (gitlab.https ? 443 : 80)
end
private
@@ -18,11 +18,7 @@ class Settings < Settingslogic
end
def build_gitlab_url
- if gitlab_on_non_standard_port?
- custom_port = ":#{gitlab.port}"
- else
- custom_port = nil
- end
+ custom_port = gitlab_on_standard_port? ? nil : ":#{gitlab.port}"
[ gitlab.protocol,
"://",
gitlab.host,
diff --git a/config/routes.rb b/config/routes.rb
index 315c339016b..611e497c9e5 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -100,8 +100,6 @@ Gitlab::Application.routes.draw do
root to: "dashboard#index"
end
- get "errors/githost"
-
#
# Profile Area
#
diff --git a/db/migrate/20140122114406_migrate_mr_diffs.rb b/db/migrate/20140122114406_migrate_mr_diffs.rb
index 2cc5faaa851..1595e2b6472 100644
--- a/db/migrate/20140122114406_migrate_mr_diffs.rb
+++ b/db/migrate/20140122114406_migrate_mr_diffs.rb
@@ -1,8 +1,6 @@
class MigrateMrDiffs < ActiveRecord::Migration
def self.up
- execute "INSERT INTO merge_request_diffs ( merge_request_id ) SELECT id FROM merge_requests"
- execute "UPDATE merge_requests mr, merge_request_diffs md SET md.st_commits = mr.st_commits WHERE md.merge_request_id = mr.id"
- execute "UPDATE merge_requests mr, merge_request_diffs md SET md.st_diffs = mr.st_diffs WHERE md.merge_request_id = mr.id"
+ execute "INSERT INTO merge_request_diffs ( merge_request_id, st_commits, st_diffs ) SELECT id, st_commits, st_diffs FROM merge_requests"
end
def self.down
diff --git a/db/migrate/20140122122549_remove_m_rdiff_fields.rb b/db/migrate/20140122122549_remove_m_rdiff_fields.rb
index c27e649e9a3..8f863d85a68 100644
--- a/db/migrate/20140122122549_remove_m_rdiff_fields.rb
+++ b/db/migrate/20140122122549_remove_m_rdiff_fields.rb
@@ -7,7 +7,15 @@ class RemoveMRdiffFields < ActiveRecord::Migration
def down
add_column :merge_requests, :st_commits, :text, null: true, limit: 2147483647
add_column :merge_requests, :st_diffs, :text, null: true, limit: 2147483647
- execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_commits = md.st_commits WHERE md.merge_request_id = mr.id"
- execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_diffs = md.st_diffs WHERE md.merge_request_id = mr.id"
+
+ if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
+ execute "UPDATE merge_requests mr
+ SET (st_commits, st_diffs) = (md.st_commits, md.st_diffs)
+ FROM merge_request_diffs md
+ WHERE md.merge_request_id = mr.id"
+ else
+ execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_commits = md.st_commits WHERE md.merge_request_id = mr.id"
+ execute "UPDATE merge_requests mr, merge_request_diffs md SET mr.st_diffs = md.st_diffs WHERE md.merge_request_id = mr.id"
+ end
end
end
diff --git a/doc/install/installation.md b/doc/install/installation.md
index 0d7f126167b..575f776de58 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -94,8 +94,8 @@ Is the system packaged Git too old? Remove it and compile from source.
# Download and compile from source
cd /tmp
- curl --progress https://git-core.googlecode.com/files/git-1.8.4.1.tar.gz | tar xz
- cd git-1.8.4.1/
+ curl --progress https://git-core.googlecode.com/files/git-1.8.5.2.tar.gz | tar xz
+ cd git-1.8.5.2/
make prefix=/usr/local all
# Install into /usr/local/bin
@@ -270,7 +270,7 @@ Make sure to edit both `gitlab.yml` and `unicorn.rb` to match your setup.
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
- # Type 'yes' to create the database.
+ # Type 'yes' to create the database tables.
# When done you see 'Administrator account created:'
diff --git a/doc/install/requirements.md b/doc/install/requirements.md
index 0a1539fb0d6..a263e9361e1 100644
--- a/doc/install/requirements.md
+++ b/doc/install/requirements.md
@@ -37,9 +37,8 @@ Please consider using a virtual machine to run GitLab.
# Ruby versions
GitLab requires Ruby (MRI) 1.9.3 or 2.0+.
-While it is generally possible to use other Rubies
-(like [JRuby](http://jruby.org/) or [Rubinius](http://rubini.us/))
-it might require some work since GitLab uses several Gems that have native extensions.
+You will have to use the standard MRI implementation of Ruby.
+We love [JRuby](http://jruby.org/) and [Rubinius](http://rubini.us/)) but GitLab needs several Gems that have native extensions.
# Hardware requirements
diff --git a/doc/raketasks/backup_restore.md b/doc/raketasks/backup_restore.md
index d2da64f3d3c..bdff6ad5da8 100644
--- a/doc/raketasks/backup_restore.md
+++ b/doc/raketasks/backup_restore.md
@@ -78,3 +78,18 @@ Restoring repositories:
- Restoring repository abcd... [DONE]
Deleting tmp directories...[DONE]
```
+
+### Configure cron to make daily backups
+
+```
+cd /home/git/gitlab
+sudo -u git -H editor config/gitlab.yml # Enable keep_time in the backup section to automatically delete old backups
+sudo -u git crontab -e # Edit the crontab for the git user
+```
+
+Add the following lines at the bottom:
+
+```
+# Create a full backup of the GitLab repositories and SQL database every day at 2am
+0 2 * * * cd /home/git/gitlab && PATH=/usr/local/bin:/usr/bin:/bin bundle exec rake gitlab:backup:create RAILS_ENV=production
+```
diff --git a/doc/release/monthly.md b/doc/release/monthly.md
index 17f69915d10..62bb0f7b40a 100644
--- a/doc/release/monthly.md
+++ b/doc/release/monthly.md
@@ -65,6 +65,9 @@ After making the release branch new commits are cherry-picked from master. When
* 21st: optional release candidate 2 (x.x.0.rc2, only if rc1 had problems)
* 22nd: release (VERSION x.x.0, create x-x-stable branch, tag, blog and tweet)
* 23nd: optional patch releases (x.x.1, x.x.2, etc., only if there are serious problems)
+* 24-end of month: release Enterprise Edition and upgrade GitLab Cloud
+* 1-7th: official merge window (see contributing guide)
+* 8-16th: bugfixes and sponsored features
# Write a blog post
diff --git a/doc/update/6.4-to-6.5.md b/doc/update/6.4-to-6.5.md
index 5dcfd15fe1e..2b1fa2744fe 100644
--- a/doc/update/6.4-to-6.5.md
+++ b/doc/update/6.4-to-6.5.md
@@ -55,7 +55,7 @@ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo service gitlab start
sudo service nginx restart
-### 8. Check application status
+### 6. Check application status
Check if GitLab and its environment are configured correctly:
diff --git a/doc/update/upgrader.md b/doc/update/upgrader.md
index 1f51005a8e9..1eec5a8f396 100644
--- a/doc/update/upgrader.md
+++ b/doc/update/upgrader.md
@@ -1,10 +1,11 @@
# GitLab Upgrader
-GitLab Upgrader - ruby script that allows you easily upgrade GitLab to latest minor version.
-Ex. it can update your application from 6.4 to latest GitLab 6 version (like 6.5.1).
-You still need to create backup and manually restart GitLab but all other operations can be done by upgrade tool.
+GitLab Upgrader - a ruby script that allows you easily upgrade GitLab to latest minor version.
+For example it can update your application from 6.4 to latest GitLab 6 version (like 6.6.1).
+You still need to create a a backup and manually restart GitLab after runnning the script but all other operations are done by this upgrade script.
+If you have local changes to your GitLab repository the script will stash them and you need to use `git stash pop` after running the script.
-__GitLab Upgrader is available only for version 6.4.2 or higher__
+__GitLab Upgrader is available only for GitLab version 6.4.2 or higher__
### 0. Backup
@@ -20,9 +21,8 @@ __GitLab Upgrader is available only for version 6.4.2 or higher__
cd /home/git/gitlab
sudo -u git -H ruby script/upgrade.rb
- # it also supports -y option to avouid user input
+ # it also supports -y option to avoid waiting for user input
# sudo -u git -H ruby script/upgrade.rb -y
-
### 3. Start application
diff --git a/lib/gitlab/blacklist.rb b/lib/gitlab/blacklist.rb
index 2f9091e07df..6bc2c3b487c 100644
--- a/lib/gitlab/blacklist.rb
+++ b/lib/gitlab/blacklist.rb
@@ -3,7 +3,7 @@ module Gitlab
extend self
def path
- %w(admin dashboard groups help profile projects search public assets u s teams merge_requests issues users snippets services repository hooks notes)
+ %w(admin dashboard files groups help profile projects search public assets u s teams merge_requests issues users snippets services repository hooks notes)
end
end
end
diff --git a/lib/gitlab/upgrader.rb b/lib/gitlab/upgrader.rb
index 859923cb563..f46685e4bbe 100644
--- a/lib/gitlab/upgrader.rb
+++ b/lib/gitlab/upgrader.rb
@@ -8,7 +8,7 @@ module Gitlab
puts "Latest available version for GitLab #{current_version.major} is #{latest_version}"
if latest_version?
- puts "You use latest GitLab version"
+ puts "You are using the latest GitLab version"
else
puts "Newer GitLab version is available"
answer = if ARGV.first == "-y"
diff --git a/lib/support/nginx/gitlab b/lib/support/nginx/gitlab
index c49dce501ab..0860d2a8693 100644
--- a/lib/support/nginx/gitlab
+++ b/lib/support/nginx/gitlab
@@ -1,6 +1,20 @@
# GITLAB
# Maintainer: @randx
+# CHUNKED TRANSFER
+# It is a known issue that Git-over-HTTP requires chunked transfer encoding [0] which is not
+# supported by Nginx < 1.3.9 [1]. As a result, pushing a large object with Git (i.e. a single large file)
+# can lead to a 411 error. In theory you can get around this by tweaking this configuration file and either
+# - installing an old version of Nginx with the chunkin module [2] compiled in, or
+# - using a newer version of Nginx.
+#
+# At the time of writing we do not know if either of these theoretical solutions works. As a workaround
+# users can use Git over SSH to push large files.
+#
+# [0] https://git.kernel.org/cgit/git/git.git/tree/Documentation/technical/http-protocol.txt#n99
+# [1] https://github.com/agentzh/chunkin-nginx-module#status
+# [2] https://github.com/agentzh/chunkin-nginx-module
+
upstream gitlab {
server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}
@@ -11,7 +25,8 @@ server {
server_tokens off; # don't show the version number, a security best practice
root /home/git/gitlab/public;
- # Set value of client_max_body_size to at least the value of git.max_size in gitlab.yml
+ # Increase this if you want to upload large attachments
+ # Or if you want to accept large git objects over http
client_max_body_size 5m;
# individual nginx logs for this gitlab vhost
diff --git a/public/gitlab_logo.png b/public/gitlab_logo.png
index e3cda5978ab..dbe6dabb784 100644
--- a/public/gitlab_logo.png
+++ b/public/gitlab_logo.png
Binary files differ
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 6837e4c9196..6bae5951b7b 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -101,7 +101,7 @@ describe Project do
it "returns the web URL without the protocol for this repo" do
project = Project.new(path: "somewhere")
- project.web_url_without_protocol.should == "#{Gitlab.config.gitlab.host}/somewhere"
+ project.web_url_without_protocol.should == "#{Gitlab.config.gitlab.url.split("://")[1]}/somewhere"
end
describe "last_activity methods" do
diff --git a/spec/routing/routing_spec.rb b/spec/routing/routing_spec.rb
index 1af052d8739..bcbf37e2eeb 100644
--- a/spec/routing/routing_spec.rb
+++ b/spec/routing/routing_spec.rb
@@ -111,13 +111,6 @@ describe HelpController, "routing" do
end
end
-# errors_githost GET /errors/githost(.:format) errors#githost
-describe ErrorsController, "routing" do
- it "to #githost" do
- get("/errors/githost").should route_to('errors#githost')
- end
-end
-
# profile_account GET /profile/account(.:format) profile#account
# profile_history GET /profile/history(.:format) profile#history
# profile_password PUT /profile/password(.:format) profile#password_update
diff --git a/vendor/assets/images/authbuttons/github_32.png b/vendor/assets/images/authbuttons/github_32.png
index 247e52a5f42..c56eef05eb9 100644
--- a/vendor/assets/images/authbuttons/github_32.png
+++ b/vendor/assets/images/authbuttons/github_32.png
Binary files differ
diff --git a/vendor/assets/images/authbuttons/github_64.png b/vendor/assets/images/authbuttons/github_64.png
index fca7bf44652..39de55bc796 100644
--- a/vendor/assets/images/authbuttons/github_64.png
+++ b/vendor/assets/images/authbuttons/github_64.png
Binary files differ
diff --git a/vendor/assets/images/authbuttons/google_32.png b/vendor/assets/images/authbuttons/google_32.png
index 3909e9de93b..6225cc9c2d7 100644
--- a/vendor/assets/images/authbuttons/google_32.png
+++ b/vendor/assets/images/authbuttons/google_32.png
Binary files differ
diff --git a/vendor/assets/images/authbuttons/google_64.png b/vendor/assets/images/authbuttons/google_64.png
index e55f34f1b7d..4d608f71008 100644
--- a/vendor/assets/images/authbuttons/google_64.png
+++ b/vendor/assets/images/authbuttons/google_64.png
Binary files differ
diff --git a/vendor/assets/images/authbuttons/twitter_32.png b/vendor/assets/images/authbuttons/twitter_32.png
index daadcffd315..696eb02484d 100644
--- a/vendor/assets/images/authbuttons/twitter_32.png
+++ b/vendor/assets/images/authbuttons/twitter_32.png
Binary files differ
diff --git a/vendor/assets/images/authbuttons/twitter_64.png b/vendor/assets/images/authbuttons/twitter_64.png
index 68b74530c06..2893274766f 100644
--- a/vendor/assets/images/authbuttons/twitter_64.png
+++ b/vendor/assets/images/authbuttons/twitter_64.png
Binary files differ
diff --git a/vendor/assets/images/bg_fallback.png b/vendor/assets/images/bg_fallback.png
index 4b2754b8040..d9066ad7d7b 100644
--- a/vendor/assets/images/bg_fallback.png
+++ b/vendor/assets/images/bg_fallback.png
Binary files differ
diff --git a/vendor/assets/images/icon_sprite.png b/vendor/assets/images/icon_sprite.png
index 636c80f2216..9ad65fc443b 100644
--- a/vendor/assets/images/icon_sprite.png
+++ b/vendor/assets/images/icon_sprite.png
Binary files differ
diff --git a/vendor/assets/images/progress_bar.gif b/vendor/assets/images/progress_bar.gif
index 156fbb53137..c3d43fa40b2 100644
--- a/vendor/assets/images/progress_bar.gif
+++ b/vendor/assets/images/progress_bar.gif
Binary files differ
diff --git a/vendor/assets/images/slider_handles.png b/vendor/assets/images/slider_handles.png
index b95a46eca97..a6d477033fa 100644
--- a/vendor/assets/images/slider_handles.png
+++ b/vendor/assets/images/slider_handles.png
Binary files differ
diff --git a/vendor/assets/images/ui-icons_222222_256x240.png b/vendor/assets/images/ui-icons_222222_256x240.png
index b273ff111d2..8bc06cbf03b 100644
--- a/vendor/assets/images/ui-icons_222222_256x240.png
+++ b/vendor/assets/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/vendor/assets/images/ui-icons_454545_256x240.png b/vendor/assets/images/ui-icons_454545_256x240.png
index 59bd45b907c..cfd1eaffaae 100644
--- a/vendor/assets/images/ui-icons_454545_256x240.png
+++ b/vendor/assets/images/ui-icons_454545_256x240.png
Binary files differ