mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-13 14:46:05 +10:00
Merge branch 'ce_upstream' into 'master'
CE upstream See merge request !202
This commit is contained in:
@@ -27,6 +27,14 @@ v 7.4.0
|
||||
- New milestone and label links on issue edit form
|
||||
- Improved repository graphs
|
||||
- Improve event note display in dashboard and project activity views (Vinnie Okada)
|
||||
- Add users sorting to admin area
|
||||
- UI improvements
|
||||
- Fix ambiguous sha problem with mentioned commit
|
||||
- Fixed bug with apostrophe when at mentioning users
|
||||
- Add active directory ldap option
|
||||
- Developers can push to wiki repo. Protected branches does not affect wiki repo any more
|
||||
- Faster rev list
|
||||
- Fix branch removal
|
||||
|
||||
v 7.3.2
|
||||
- Fix creating new file via web editor
|
||||
|
||||
@@ -92,6 +92,7 @@ For examples of feedback on merge requests please look at already [closed merge
|
||||
|
||||
1. The change is as small as possible (see the above paragraph for details)
|
||||
1. Include proper tests and make all tests pass (unless it contains a test exposing a bug in existing code)
|
||||
1. All tests have to pass, if you suspect a failing CI build is unrelated to your contribution ask for tests to be restarted. See [the CI setup document](http://doc.gitlab.com/ce/development/ci_setup.html) on who you can ask for test restart.
|
||||
1. Initially contains a single commit (please use `git rebase -i` to squash commits)
|
||||
1. Can merge without problems (if not please merge `master`, never rebase commits pushed to the remote server)
|
||||
1. Does not break any existing functionality
|
||||
|
||||
@@ -51,7 +51,7 @@ On [about.gitlab.com](https://about.gitlab.com/) you can find more information a
|
||||
## Installation
|
||||
|
||||
Please see [the installation page on the GitLab website](https://about.gitlab.com/installation/) for the various options.
|
||||
Since a manual installation is a lot of work and error prone we strongly recommend fast and reliable Omnibus package installation (deb/rpm) on that page.
|
||||
Since a manual installation is a lot of work and error prone we strongly recommend the fast and reliable [Omnibus package installation](https://about.gitlab.com/downloads/) (deb/rpm).
|
||||
|
||||
## Third-party applications
|
||||
|
||||
|
||||
@@ -111,7 +111,8 @@
|
||||
.ci_widget {
|
||||
padding: 10px 15px;
|
||||
font-size: 15px;
|
||||
border-bottom: 1px dashed #AAA;
|
||||
border-bottom: 1px solid #BBB;
|
||||
color: #777;
|
||||
|
||||
&.ci-success {
|
||||
color: $bg_success;
|
||||
@@ -143,7 +144,8 @@
|
||||
padding: 10px 15px;
|
||||
|
||||
h4 {
|
||||
margin-top: 0px;
|
||||
font-size: 20px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
p:last-child {
|
||||
|
||||
@@ -54,11 +54,15 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
||||
@user.save
|
||||
end
|
||||
|
||||
if @user.valid?
|
||||
# Only allow properly saved users to login.
|
||||
if @user.persisted? && @user.valid?
|
||||
sign_in_and_redirect(@user.gl_user)
|
||||
else
|
||||
elsif @user.gl_user.errors.any?
|
||||
error_message = @user.gl_user.errors.map{ |attribute, message| "#{attribute} #{message}" }.join(", ")
|
||||
redirect_to omniauth_error_path(oauth['provider'], error: error_message) and return
|
||||
else
|
||||
flash[:notice] = "There's no such user!"
|
||||
redirect_to new_user_session_path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
- if current_page?(starred_explore_projects_path)
|
||||
%strong.pull-right
|
||||
%i.fa.fa-star
|
||||
= pluralize project.star_count, 'star'
|
||||
|
||||
.project-info
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.explore-trending-block
|
||||
%p.lead
|
||||
%i.fa.fa-comments-o
|
||||
%i.fa.fa-star
|
||||
See most starred projects
|
||||
%hr
|
||||
.public-projects
|
||||
|
||||
@@ -19,12 +19,13 @@
|
||||
= form_for @project, url: retry_import_project_path(@project), method: :put, html: { class: 'form-horizontal' } do |f|
|
||||
.form-group.import-url-data
|
||||
= f.label :import_url, class: 'control-label' do
|
||||
%span Import existing repo
|
||||
%span Import existing git repo
|
||||
.col-sm-10
|
||||
= f.text_field :import_url, class: 'form-control', placeholder: 'https://github.com/randx/six.git'
|
||||
.bs-callout.bs-callout-info
|
||||
This URL must be publicly accessible or you can add a username and password like this: https://username:password@gitlab.com/company/project.git.
|
||||
%br
|
||||
The import will time out after 4 minutes. For big repositories, use a clone/push combination.
|
||||
For SVN repositories, check #{link_to "this migrating from SVN doc.", "http://doc.gitlab.com/ce/workflow/migrating_from_svn.html"}
|
||||
.form-actions
|
||||
= f.submit 'Retry import', class: "btn btn-create", tabindex: 4
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
- content_for :note_actions do
|
||||
- if can?(current_user, :modify_merge_request, @merge_request)
|
||||
- unless @merge_request.closed? || @merge_request.merged?
|
||||
- if @merge_request.open?
|
||||
= link_to 'Close', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :close }), method: :put, class: "btn btn-grouped btn-close close-mr-link js-note-target-close", title: "Close merge request"
|
||||
- if @merge_request.closed?
|
||||
= link_to 'Reopen', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :reopen }), method: :put, class: "btn btn-grouped btn-reopen reopen-mr-link js-note-target-reopen", title: "Reopen merge request"
|
||||
|
||||
@@ -16,15 +16,6 @@
|
||||
%h4
|
||||
You can accept this request automatically.
|
||||
.accept-merge-holder.clearfix
|
||||
.js-toggle-container
|
||||
%p
|
||||
You can
|
||||
%strong= link_to "modify merge commit message", "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message"
|
||||
before accepting merge request
|
||||
.js-toggle-content.hide
|
||||
= render 'shared/commit_message_container', params: params,
|
||||
text: @merge_request.merge_commit_message,
|
||||
rows: 14, hint: true
|
||||
.accept-group
|
||||
.pull-left
|
||||
= f.submit "Accept Merge Request", class: "btn btn-create accept_merge_request"
|
||||
@@ -33,6 +24,14 @@
|
||||
= label_tag :should_remove_source_branch, class: "checkbox" do
|
||||
= check_box_tag :should_remove_source_branch
|
||||
Remove source-branch
|
||||
.js-toggle-container
|
||||
%label
|
||||
%i.fa.fa-edit
|
||||
= link_to "modify merge commit message", "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message"
|
||||
.js-toggle-content.hide
|
||||
= render 'shared/commit_message_container', params: params,
|
||||
text: @merge_request.merge_commit_message,
|
||||
rows: 14, hint: true
|
||||
|
||||
%hr
|
||||
.light
|
||||
|
||||
@@ -21,6 +21,12 @@
|
||||
#{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
|
||||
= render "projects/merge_requests/show/remove_source_branch"
|
||||
|
||||
- if @merge_request.locked?
|
||||
%h4
|
||||
Merge in progress...
|
||||
%p
|
||||
GitLab tries to merge it right now. During this time merge request is locked and can not be closed.
|
||||
|
||||
- unless @commits.any?
|
||||
%h4 Nothing to merge
|
||||
%p
|
||||
|
||||
@@ -44,13 +44,14 @@
|
||||
.js-toggle-content.hide
|
||||
.form-group.import-url-data
|
||||
= f.label :import_url, class: 'control-label' do
|
||||
%span Import existing repo
|
||||
%span Import existing git repo
|
||||
.col-sm-10
|
||||
= f.text_field :import_url, class: 'form-control', placeholder: 'https://github.com/randx/six.git'
|
||||
.bs-callout.bs-callout-info
|
||||
This URL must be publicly accessible or you can add a username and password like this: https://username:password@gitlab.com/company/project.git.
|
||||
%br
|
||||
The import will time out after 4 minutes. For big repositories, use a clone/push combination.
|
||||
For SVN repositories, check #{link_to "this migrating from SVN doc.", "http://doc.gitlab.com/ce/workflow/migrating_from_svn.html"}
|
||||
%hr
|
||||
|
||||
.form-group
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
- else
|
||||
%td.old_line= raw(line.type == "new" ? " " : line.old_pos)
|
||||
%td.new_line= raw(line.type == "old" ? " " : line.new_pos)
|
||||
%td.line_content{class: "noteable_line #{line.type} #{line_code}", "line_code" => line_code}= raw "#{line.text} "
|
||||
%td.line_content{class: "noteable_line #{line.type} #{line_code}", "line_code" => line_code}= raw diff_line_content(line.text)
|
||||
|
||||
- if line_code == note.line_code
|
||||
= render "projects/notes/diff_notes_with_reply", notes: discussion_notes
|
||||
|
||||
+15
-13
@@ -4,28 +4,30 @@ This document describes what services we use for testing GitLab and GitLab CI.
|
||||
|
||||
We currently use three CI services to test GitLab:
|
||||
|
||||
1. GitLab CI on [GitHost.io](https://gitlab-ce.githost.io/projects/2/) for the [GitLab.com repo](https://gitlab.com/gitlab-org/gitlab-ce)
|
||||
1. GitLab CI on [GitHost.io](https://gitlab-ce.githost.io/projects/4/) for the [GitLab.com repo](https://gitlab.com/gitlab-org/gitlab-ce)
|
||||
2. GitLab CI at ci.gitlab.org to test the private GitLab B.V. repo at dev.gitlab.org
|
||||
3. [Semephore](https://semaphoreapp.com/gitlabhq/gitlabhq/) for [GitHub.com repo](https://github.com/gitlabhq/gitlabhq)
|
||||
|
||||
| Software @ configuration being tested | GitLab CI (ci.gitlab.org) | GitLab CI (GitHost.io) | Semaphore |
|
||||
|---------------------------------------|---------------------------|------------------------|-----------|
|
||||
| GitLab CE @ MySQL | ✓ | ✓ | |
|
||||
| GitLab CE @ PostgreSQL | | | ✓ |
|
||||
| GitLab EE @ MySQL | ✓ | | |
|
||||
| GitLab CI @ MySQL | ✓ | | |
|
||||
| GitLab CI @ PostgreSQL | | | ✓ |
|
||||
| GitLab CI Runner | ✓ | | ✓ |
|
||||
| GitLab Shell | ✓ | | ✓ |
|
||||
| GitLab Shell | ✓ | | ✓ |
|
||||
|---------------------------------------|---------------------------|---------------------------------------------------------------------------|-----------|
|
||||
| GitLab CE @ MySQL | ✓ | ✓ [Core team can trigger builds](https://gitlab-ce.githost.io/projects/4) | |
|
||||
| GitLab CE @ PostgreSQL | | | ✓ [Core team can trigger builds](https://semaphoreapp.com/gitlabhq/gitlabhq/branches/master) |
|
||||
| GitLab EE @ MySQL | ✓ | | |
|
||||
| GitLab CI @ MySQL | ✓ | | |
|
||||
| GitLab CI @ PostgreSQL | | | ✓ |
|
||||
| GitLab CI Runner | ✓ | | ✓ |
|
||||
| GitLab Shell | ✓ | | ✓ |
|
||||
| GitLab Shell | ✓ | | ✓ |
|
||||
|
||||
Core team has access to trigger builds if needed for GitLab CE.
|
||||
|
||||
We use [these build scripts](https://gitlab.com/gitlab-org/gitlab-ci/blob/master/doc/examples/build_script_gitlab_ce.md) for testing with GitLab CI.
|
||||
|
||||
# Build configuration on [Semaphore](https://semaphoreapp.com/gitlabhq/gitlabhq/) for testing the [GitHub.com repo](https://github.com/gitlabhq/gitlabhq)
|
||||
|
||||
Language: Ruby
|
||||
Ruby verion: 2.1.2
|
||||
database.yml: pg
|
||||
- Language: Ruby
|
||||
- Ruby verion: 2.1.2
|
||||
- database.yml: pg
|
||||
|
||||
Build commands
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Installation
|
||||
|
||||
## Consider the Omnibus package installation
|
||||
|
||||
Since a manual installation is a lot of work and error prone we strongly recommend the fast and reliable [Omnibus package installation](https://about.gitlab.com/downloads/) (deb/rpm).
|
||||
|
||||
## Select Version to Install
|
||||
|
||||
Make sure you view [this installation guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md) from the branch (version) of GitLab you would like to install. In most cases this should be the highest numbered stable branch (example shown below).
|
||||
|
||||
@@ -195,6 +195,12 @@ sudo rm -R tmp
|
||||
sudo -u git -H mkdir tmp
|
||||
sudo chmod -R u+rwX tmp/
|
||||
|
||||
# create directory for pids, make sure GitLab can write to it
|
||||
sudo -u git -H mkdir tmp/pids/
|
||||
sudo chmod -R u+rwX tmp/pids/
|
||||
|
||||
# if you are already running a newer version of GitLab check that installation guide for other tmp folders you need to create
|
||||
|
||||
# reboot system
|
||||
sudo reboot
|
||||
|
||||
|
||||
@@ -26,6 +26,15 @@ SELECT CONCAT('ALTER TABLE gitlabhq_production.', table_name, ' ENGINE=InnoDB;')
|
||||
|
||||
# If previous query returned results, copy & run all outputed SQL statements
|
||||
|
||||
# Convert all tables to correct character set
|
||||
SET foreign_key_checks = 0;
|
||||
SELECT CONCAT('ALTER TABLE gitlabhq_production.', table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') AS 'Copy & run these SQL statements:' FROM information_schema.tables WHERE table_schema = 'gitlabhq_production' AND `TABLE_COLLATION` <> 'utf8_unicode_ci' AND `TABLE_TYPE` = 'BASE TABLE';
|
||||
|
||||
# If previous query returned results, copy & run all outputed SQL statements
|
||||
|
||||
# turn foreign key checks back on
|
||||
SET foreign_key_checks = 1;
|
||||
|
||||
# Find MySQL users
|
||||
mysql> SELECT user FROM mysql.user WHERE user LIKE '%git%';
|
||||
|
||||
|
||||
@@ -5,3 +5,5 @@
|
||||
- [Share projects with other groups](share_projects_with_other_groups.md)
|
||||
- [Labels](labels.md)
|
||||
- [GitLab Flow](gitlab_flow.md)
|
||||
- [Notifications](notifications.md)
|
||||
- [Migrating from SVN to GitLab](migrating_from_svn.md)
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# Migrating from SVN to GitLab
|
||||
|
||||
SVN stands for Subversion and is a version control system (VCS).
|
||||
Git is a distributed version control system.
|
||||
|
||||
There are some major differences between the two, for more information consult your favourite search engine.
|
||||
|
||||
Git has tools for migrating SVN repositories to git, namely `git svn`. You can read more about this at
|
||||
[git documentation pages](http://git-scm.com/book/en/Git-and-Other-Systems-Git-and-Subversion).
|
||||
|
||||
Apart from the [official git documentation](http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git) there is also
|
||||
user created step by step guide for migrating from SVN to GitLab.
|
||||
|
||||
[Benjamin New](https://github.com/leftclickben) wrote [a guide that shows how to do a migration](https://gist.github.com/leftclickben/322b7a3042cbe97ed2af). Mirrors can be found [here](https://gitlab.com/snippets/2168) and [here](https://gist.github.com/maxlazio/f1b593b0d00aa966e9ca).
|
||||
|
||||
## Contribute to this guide
|
||||
We welcome all contributions that would expand this guide with instructions on how to migrate from SVN and other version control systems.
|
||||
@@ -0,0 +1,71 @@
|
||||
# GitLab Notifications
|
||||
|
||||
GitLab has notifications system in place to notify a user of events important for the workflow.
|
||||
|
||||
## Notification settings
|
||||
|
||||
Under user profile page you can find the notification settings.
|
||||
|
||||

|
||||
|
||||
Notification settings are divided into three groups:
|
||||
|
||||
* Global Settings
|
||||
* Group Settings
|
||||
* Project Settings
|
||||
|
||||
Each of these settings have levels of notification:
|
||||
|
||||
* Disabled - turns off notifications
|
||||
* Participating - receive notifications from related resources
|
||||
* Watch - receive notifications from projects or groups user is a member of
|
||||
* Global - notifications as set at the global settings
|
||||
|
||||
#### Global Settings
|
||||
|
||||
Global Settings are at the bottom of the hierarchy.
|
||||
Any setting set here will be overriden by a setting at the group or a project level.
|
||||
|
||||
Group or Project settings can use `global` notification setting which will then use
|
||||
anything that is set at Global Settings.
|
||||
|
||||
#### Group Settings
|
||||
|
||||
Group Settings are taking presedence over Global Settings but are on a level below Project Settings.
|
||||
This means that you can set a different level of notifications per group while still being able
|
||||
to have a finer level setting per project.
|
||||
Organization like this is suitable for users that belong to different groups but don't have the
|
||||
same need for being notified for every group they are member of.
|
||||
|
||||
#### Project Settings
|
||||
|
||||
Project Settings are at the top level and any setting placed at this level will take presedence of any
|
||||
other setting.
|
||||
This is suitable for users that have different needs for notifications per project basis.
|
||||
|
||||
## Notification events
|
||||
|
||||
Below is the table of events users can be notified of:
|
||||
|
||||
| Event | Sent to | Settings level |
|
||||
|------------------------------|-------------------------------------------------------------------|------------------------------|
|
||||
| New SSH key added | User | Security email, always sent. |
|
||||
| New email added | User | Security email, always sent. |
|
||||
| New user created | User | Sent on user creation, except for omniauth (LDAP)|
|
||||
| New issue created | Issue assignee [1], project members [2] | [1] not disabled, [2] higher than participating |
|
||||
| User added to project | User | Sent when user is added to project |
|
||||
| Project access level changed | User | Sent when user project access level is changed |
|
||||
| User added to group | User | Sent when user is added to group |
|
||||
| Project moved | Project members [1] | [1] not disabled |
|
||||
| Group access level changed | User | Sent when user group access level is changed |
|
||||
| Close issue | Issue author [1], issue assignee [2], project members [3] | [1] [2] not disabled, [3] higher than participating |
|
||||
| Reassign issue | New issue assignee [1], old issue assignee [2] | [1] [2] not disabled |
|
||||
| Reopen issue | Project members [1] | [1] higher than participating |
|
||||
| New merge request | MR assignee [1] | [1] not disabled |
|
||||
| Reassign merge request | New MR assignee [1], old MR assignee [2] | [1] [2] not disabled |
|
||||
| Close merge request | MR author [1], MR assignee [2], project members [3] | [1] [2] not disabled, [3] higher than participating |
|
||||
| Reopen merge request | Project members [1] | [1] higher than participating |
|
||||
| Merge merge request | MR author [1], MR assignee [2], project members [3] | [1] [2] not disabled, [3] higher than participating |
|
||||
| New comment | Mentioned users [1], users participating [2], project members [3] | [1] [2] not disabled, [3] higher than participating |
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
Reference in New Issue
Block a user