summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG2
-rw-r--r--Gemfile2
-rw-r--r--app/models/ability.rb8
-rw-r--r--doc/gitlab-basics/README.md11
-rw-r--r--doc/gitlab-basics/basic-git-commands.md59
-rw-r--r--doc/gitlab-basics/basicsimages/add_new_merge_request.png (renamed from doc/gitlab_basics/basicsimages/add_new_merge_request.png)bin9467 -> 9467 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/add_sshkey.png (renamed from doc/gitlab_basics/basicsimages/add_sshkey.png)bin1463 -> 1463 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/branch_info.png (renamed from doc/gitlab_basics/basicsimages/branch_info.png)bin7978 -> 7978 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/branch_name.png (renamed from doc/gitlab_basics/basicsimages/branch_name.png)bin2199 -> 2199 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/branches.png (renamed from doc/gitlab_basics/basicsimages/branches.png)bin3653 -> 3653 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/commit_changes.png (renamed from doc/gitlab_basics/basicsimages/commit_changes.png)bin5567 -> 5567 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/commit_message.png (renamed from doc/gitlab_basics/basicsimages/commit_message.png)bin5707 -> 5707 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/commits.png (renamed from doc/gitlab_basics/basicsimages/commits.png)bin4258 -> 4258 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/compare_braches.png (renamed from doc/gitlab_basics/basicsimages/compare_braches.png)bin1624 -> 1624 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/create_file.png (renamed from doc/gitlab_basics/basicsimages/create_file.png)bin2524 -> 2524 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/create_group.png (renamed from doc/gitlab_basics/basicsimages/create_group.png)bin3224 -> 3224 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/edit_file.png (renamed from doc/gitlab_basics/basicsimages/edit_file.png)bin2259 -> 2259 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/file_located.png (renamed from doc/gitlab_basics/basicsimages/file_located.png)bin3156 -> 3156 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/file_name.png (renamed from doc/gitlab_basics/basicsimages/file_name.png)bin2544 -> 2544 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/find_file.png (renamed from doc/gitlab_basics/basicsimages/find_file.png)bin8840 -> 8840 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/find_group.png (renamed from doc/gitlab_basics/basicsimages/find_group.png)bin6159 -> 6159 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/fork.png (renamed from doc/gitlab_basics/basicsimages/fork.png)bin1046 -> 1046 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/group_info.png (renamed from doc/gitlab_basics/basicsimages/group_info.png)bin16217 -> 16217 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/groups.png (renamed from doc/gitlab_basics/basicsimages/groups.png)bin4857 -> 4857 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/https.png (renamed from doc/gitlab_basics/basicsimages/https.png)bin2887 -> 2887 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/image_file.png (renamed from doc/gitlab_basics/basicsimages/image_file.png)bin2939 -> 2939 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/issue_title.png (renamed from doc/gitlab_basics/basicsimages/issue_title.png)bin9059 -> 9059 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/issues.png (renamed from doc/gitlab_basics/basicsimages/issues.png)bin4332 -> 4332 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/key.png (renamed from doc/gitlab_basics/basicsimages/key.png)bin1264 -> 1264 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/merge_requests.png (renamed from doc/gitlab_basics/basicsimages/merge_requests.png)bin4381 -> 4381 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/new_issue.png (renamed from doc/gitlab_basics/basicsimages/new_issue.png)bin2974 -> 2974 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/new_merge_request.png (renamed from doc/gitlab_basics/basicsimages/new_merge_request.png)bin3227 -> 3227 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/new_project.png (renamed from doc/gitlab_basics/basicsimages/new_project.png)bin2319 -> 2319 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/newbranch.png (renamed from doc/gitlab_basics/basicsimages/newbranch.png)bin1314 -> 1314 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/paste_sshkey.png (renamed from doc/gitlab_basics/basicsimages/paste_sshkey.png)bin8620 -> 8620 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/profile_settings.png (renamed from doc/gitlab_basics/basicsimages/profile_settings.png)bin1194 -> 1194 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/project_info.png (renamed from doc/gitlab_basics/basicsimages/project_info.png)bin21862 -> 21862 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/public_file_link.png (renamed from doc/gitlab_basics/basicsimages/public_file_link.png)bin3038 -> 3038 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/select_branch.png (renamed from doc/gitlab_basics/basicsimages/select_branch.png)bin12213 -> 12213 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/select_project.png (renamed from doc/gitlab_basics/basicsimages/select_project.png)bin16832 -> 16832 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/settings.png (renamed from doc/gitlab_basics/basicsimages/settings.png)bin4321 -> 4321 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/shh_keys.png (renamed from doc/gitlab_basics/basicsimages/shh_keys.png)bin4981 -> 4981 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/submit_new_issue.png (renamed from doc/gitlab_basics/basicsimages/submit_new_issue.png)bin9083 -> 9083 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/title_description_mr.png (renamed from doc/gitlab_basics/basicsimages/title_description_mr.png)bin12749 -> 12749 bytes
-rw-r--r--doc/gitlab-basics/basicsimages/white_space.png (renamed from doc/gitlab_basics/basicsimages/white_space.png)bin3707 -> 3707 bytes
-rw-r--r--doc/gitlab-basics/command-line-commands.md72
-rw-r--r--doc/gitlab-basics/create-your-ssh-keys.md (renamed from doc/gitlab_basics/create_your_ssh_keys.md)2
-rw-r--r--doc/gitlab-basics/start-using-git.md (renamed from doc/gitlab_basics/start_using_git.md)6
-rw-r--r--doc/gitlab_basics/README.md7
-rw-r--r--doc/permissions/permissions.md4
-rw-r--r--spec/features/security/project/internal_access_spec.rb12
-rw-r--r--spec/features/security/project/private_access_spec.rb12
-rw-r--r--spec/features/security/project/public_access_spec.rb12
53 files changed, 191 insertions, 18 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 04625b01d61..3c2d9c67869 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -25,6 +25,8 @@ v 7.13.0 (unreleased)
- Explicit error when commit not found in the CI
- Improve performance for issue and merge request pages
- Users with guest access level can not set assignee, labels or milestones for issue and merge request
+ - Reporter role can manage issue tracker now: edit any issue, set assignee or milestone and manage labels
+ - Better performance for pages with events list, issues list and commits list
v 7.12.0
- Fix Error 500 when one user attempts to access a personal, internal snippet (Stan Hu)
diff --git a/Gemfile b/Gemfile
index eb3917872f5..ec63c7eef84 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,7 +9,7 @@ gem "default_value_for", "~> 3.0.0"
gem "mysql2", group: :mysql
gem "pg", group: :postgres
-# Auth
+# Authentication libraries
gem "devise", '3.2.4'
gem "devise-async", '0.9.0'
gem 'omniauth', "~> 1.2.2"
diff --git a/app/models/ability.rb b/app/models/ability.rb
index 3ee3a7857ee..d3631d49ec6 100644
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -155,7 +155,10 @@ class Ability
project_guest_rules + [
:download_code,
:fork_project,
- :create_project_snippet
+ :create_project_snippet,
+ :update_issue,
+ :admin_issue,
+ :admin_label,
]
end
@@ -163,9 +166,6 @@ class Ability
project_report_rules + [
:create_merge_request,
:create_wiki,
- :update_issue,
- :admin_issue,
- :admin_label,
:push_code
]
end
diff --git a/doc/gitlab-basics/README.md b/doc/gitlab-basics/README.md
new file mode 100644
index 00000000000..ffe1c358424
--- /dev/null
+++ b/doc/gitlab-basics/README.md
@@ -0,0 +1,11 @@
+# GitLab basics
+
+Step-by-step guides on the basics of working with Git and GitLab.
+
+* [Start using Git on the commandline](start-using-git.md)
+
+* [Create and add your SSH Keys](create-your-ssh-keys.md)
+
+* [Command Line basic commands](command-line-commands.md)
+
+* [Basic Git commands](basic-git-commands.md)
diff --git a/doc/gitlab-basics/basic-git-commands.md b/doc/gitlab-basics/basic-git-commands.md
new file mode 100644
index 00000000000..ed210ba5420
--- /dev/null
+++ b/doc/gitlab-basics/basic-git-commands.md
@@ -0,0 +1,59 @@
+# Basic Git commands
+
+* Go to the master branch to pull the latest changes from there
+```
+git checkout master
+```
+
+* Download the latest changes in the project, so that you work on an up-to-date copy (this is important to do every time you work on a project), while you setup tracking branches
+```
+git pull REMOTE NAME-OF-BRANCH -u
+```
+(REMOTE: origin) (NAME-OF-BRANCH: could be "master" or an existing branch)
+
+* Create a branch (remember that spaces won't be recognized, you need to use a hyphen or underscore)
+```
+git checkout -b NAME-OF-BRANCH
+```
+
+* Work on a branch that has already been created
+```
+git checkout NAME-OF-BRANCH
+```
+
+* To see the changes you've made (it's important to be aware of what's happening and what's the status of your changes)
+```
+git status
+```
+
+* Add changes to commit (you'll be able to see your changes in red when you type "git status")
+```
+git add CHANGES IN RED
+git commit -m "DESCRIBE THE INTENTION OF THE COMMIT"
+```
+
+* Send changes to gitlab.com
+```
+git push origin NAME-OF-BRANCH
+```
+
+* Throw away all changes in the Git repository, but leave unstaged things
+```
+git checkout .
+```
+
+* Delete all changes in the Git repository, including untracked files
+```
+git clean -f
+```
+
+* Remove all the changes that you don't want to send to gitlab.com
+```
+git add NAME-OF-FILE -all
+```
+
+* Merge created branch with master branch. You need to be in the created branch
+```
+git checkout NAME-OF-BRANCH
+git merge master
+```
diff --git a/doc/gitlab_basics/basicsimages/add_new_merge_request.png b/doc/gitlab-basics/basicsimages/add_new_merge_request.png
index 9d93b217a59..9d93b217a59 100644
--- a/doc/gitlab_basics/basicsimages/add_new_merge_request.png
+++ b/doc/gitlab-basics/basicsimages/add_new_merge_request.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/add_sshkey.png b/doc/gitlab-basics/basicsimages/add_sshkey.png
index 2dede97aa40..2dede97aa40 100644
--- a/doc/gitlab_basics/basicsimages/add_sshkey.png
+++ b/doc/gitlab-basics/basicsimages/add_sshkey.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/branch_info.png b/doc/gitlab-basics/basicsimages/branch_info.png
index c5e38b552a5..c5e38b552a5 100644
--- a/doc/gitlab_basics/basicsimages/branch_info.png
+++ b/doc/gitlab-basics/basicsimages/branch_info.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/branch_name.png b/doc/gitlab-basics/basicsimages/branch_name.png
index 06e77f5eea9..06e77f5eea9 100644
--- a/doc/gitlab_basics/basicsimages/branch_name.png
+++ b/doc/gitlab-basics/basicsimages/branch_name.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/branches.png b/doc/gitlab-basics/basicsimages/branches.png
index c18fa83b968..c18fa83b968 100644
--- a/doc/gitlab_basics/basicsimages/branches.png
+++ b/doc/gitlab-basics/basicsimages/branches.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/commit_changes.png b/doc/gitlab-basics/basicsimages/commit_changes.png
index 81588336f37..81588336f37 100644
--- a/doc/gitlab_basics/basicsimages/commit_changes.png
+++ b/doc/gitlab-basics/basicsimages/commit_changes.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/commit_message.png b/doc/gitlab-basics/basicsimages/commit_message.png
index 0df2c32653c..0df2c32653c 100644
--- a/doc/gitlab_basics/basicsimages/commit_message.png
+++ b/doc/gitlab-basics/basicsimages/commit_message.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/commits.png b/doc/gitlab-basics/basicsimages/commits.png
index 7e606539077..7e606539077 100644
--- a/doc/gitlab_basics/basicsimages/commits.png
+++ b/doc/gitlab-basics/basicsimages/commits.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/compare_braches.png b/doc/gitlab-basics/basicsimages/compare_braches.png
index 7eebaed9075..7eebaed9075 100644
--- a/doc/gitlab_basics/basicsimages/compare_braches.png
+++ b/doc/gitlab-basics/basicsimages/compare_braches.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/create_file.png b/doc/gitlab-basics/basicsimages/create_file.png
index 688e355cca2..688e355cca2 100644
--- a/doc/gitlab_basics/basicsimages/create_file.png
+++ b/doc/gitlab-basics/basicsimages/create_file.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/create_group.png b/doc/gitlab-basics/basicsimages/create_group.png
index 57da898abdc..57da898abdc 100644
--- a/doc/gitlab_basics/basicsimages/create_group.png
+++ b/doc/gitlab-basics/basicsimages/create_group.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/edit_file.png b/doc/gitlab-basics/basicsimages/edit_file.png
index afa68760108..afa68760108 100644
--- a/doc/gitlab_basics/basicsimages/edit_file.png
+++ b/doc/gitlab-basics/basicsimages/edit_file.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/file_located.png b/doc/gitlab-basics/basicsimages/file_located.png
index 1def489d16b..1def489d16b 100644
--- a/doc/gitlab_basics/basicsimages/file_located.png
+++ b/doc/gitlab-basics/basicsimages/file_located.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/file_name.png b/doc/gitlab-basics/basicsimages/file_name.png
index 9ac2f1c355f..9ac2f1c355f 100644
--- a/doc/gitlab_basics/basicsimages/file_name.png
+++ b/doc/gitlab-basics/basicsimages/file_name.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/find_file.png b/doc/gitlab-basics/basicsimages/find_file.png
index 98639149a39..98639149a39 100644
--- a/doc/gitlab_basics/basicsimages/find_file.png
+++ b/doc/gitlab-basics/basicsimages/find_file.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/find_group.png b/doc/gitlab-basics/basicsimages/find_group.png
index 5ac33c7e953..5ac33c7e953 100644
--- a/doc/gitlab_basics/basicsimages/find_group.png
+++ b/doc/gitlab-basics/basicsimages/find_group.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/fork.png b/doc/gitlab-basics/basicsimages/fork.png
index b1f94938613..b1f94938613 100644
--- a/doc/gitlab_basics/basicsimages/fork.png
+++ b/doc/gitlab-basics/basicsimages/fork.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/group_info.png b/doc/gitlab-basics/basicsimages/group_info.png
index e78d84e4d80..e78d84e4d80 100644
--- a/doc/gitlab_basics/basicsimages/group_info.png
+++ b/doc/gitlab-basics/basicsimages/group_info.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/groups.png b/doc/gitlab-basics/basicsimages/groups.png
index b8104343afa..b8104343afa 100644
--- a/doc/gitlab_basics/basicsimages/groups.png
+++ b/doc/gitlab-basics/basicsimages/groups.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/https.png b/doc/gitlab-basics/basicsimages/https.png
index 2a31b4cf751..2a31b4cf751 100644
--- a/doc/gitlab_basics/basicsimages/https.png
+++ b/doc/gitlab-basics/basicsimages/https.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/image_file.png b/doc/gitlab-basics/basicsimages/image_file.png
index 1061d9c5082..1061d9c5082 100644
--- a/doc/gitlab_basics/basicsimages/image_file.png
+++ b/doc/gitlab-basics/basicsimages/image_file.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/issue_title.png b/doc/gitlab-basics/basicsimages/issue_title.png
index 7b69c705392..7b69c705392 100644
--- a/doc/gitlab_basics/basicsimages/issue_title.png
+++ b/doc/gitlab-basics/basicsimages/issue_title.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/issues.png b/doc/gitlab-basics/basicsimages/issues.png
index 9354d05319e..9354d05319e 100644
--- a/doc/gitlab_basics/basicsimages/issues.png
+++ b/doc/gitlab-basics/basicsimages/issues.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/key.png b/doc/gitlab-basics/basicsimages/key.png
index 321805cda98..321805cda98 100644
--- a/doc/gitlab_basics/basicsimages/key.png
+++ b/doc/gitlab-basics/basicsimages/key.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/merge_requests.png b/doc/gitlab-basics/basicsimages/merge_requests.png
index 7601d40de47..7601d40de47 100644
--- a/doc/gitlab_basics/basicsimages/merge_requests.png
+++ b/doc/gitlab-basics/basicsimages/merge_requests.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/new_issue.png b/doc/gitlab-basics/basicsimages/new_issue.png
index 94e7503dd8b..94e7503dd8b 100644
--- a/doc/gitlab_basics/basicsimages/new_issue.png
+++ b/doc/gitlab-basics/basicsimages/new_issue.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/new_merge_request.png b/doc/gitlab-basics/basicsimages/new_merge_request.png
index 9120d2b1ab1..9120d2b1ab1 100644
--- a/doc/gitlab_basics/basicsimages/new_merge_request.png
+++ b/doc/gitlab-basics/basicsimages/new_merge_request.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/new_project.png b/doc/gitlab-basics/basicsimages/new_project.png
index ac255270a66..ac255270a66 100644
--- a/doc/gitlab_basics/basicsimages/new_project.png
+++ b/doc/gitlab-basics/basicsimages/new_project.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/newbranch.png b/doc/gitlab-basics/basicsimages/newbranch.png
index da1a6b604ea..da1a6b604ea 100644
--- a/doc/gitlab_basics/basicsimages/newbranch.png
+++ b/doc/gitlab-basics/basicsimages/newbranch.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/paste_sshkey.png b/doc/gitlab-basics/basicsimages/paste_sshkey.png
index 9880ddfead1..9880ddfead1 100644
--- a/doc/gitlab_basics/basicsimages/paste_sshkey.png
+++ b/doc/gitlab-basics/basicsimages/paste_sshkey.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/profile_settings.png b/doc/gitlab-basics/basicsimages/profile_settings.png
index 5f2e7a7e10c..5f2e7a7e10c 100644
--- a/doc/gitlab_basics/basicsimages/profile_settings.png
+++ b/doc/gitlab-basics/basicsimages/profile_settings.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/project_info.png b/doc/gitlab-basics/basicsimages/project_info.png
index 6c06ff351fa..6c06ff351fa 100644
--- a/doc/gitlab_basics/basicsimages/project_info.png
+++ b/doc/gitlab-basics/basicsimages/project_info.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/public_file_link.png b/doc/gitlab-basics/basicsimages/public_file_link.png
index 1a60a3d880a..1a60a3d880a 100644
--- a/doc/gitlab_basics/basicsimages/public_file_link.png
+++ b/doc/gitlab-basics/basicsimages/public_file_link.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/select_branch.png b/doc/gitlab-basics/basicsimages/select_branch.png
index 3475b2df576..3475b2df576 100644
--- a/doc/gitlab_basics/basicsimages/select_branch.png
+++ b/doc/gitlab-basics/basicsimages/select_branch.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/select_project.png b/doc/gitlab-basics/basicsimages/select_project.png
index 6d5aa439124..6d5aa439124 100644
--- a/doc/gitlab_basics/basicsimages/select_project.png
+++ b/doc/gitlab-basics/basicsimages/select_project.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/settings.png b/doc/gitlab-basics/basicsimages/settings.png
index 9bf9c5a0d39..9bf9c5a0d39 100644
--- a/doc/gitlab_basics/basicsimages/settings.png
+++ b/doc/gitlab-basics/basicsimages/settings.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/shh_keys.png b/doc/gitlab-basics/basicsimages/shh_keys.png
index d7ef4dafe77..d7ef4dafe77 100644
--- a/doc/gitlab_basics/basicsimages/shh_keys.png
+++ b/doc/gitlab-basics/basicsimages/shh_keys.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/submit_new_issue.png b/doc/gitlab-basics/basicsimages/submit_new_issue.png
index 18944417085..18944417085 100644
--- a/doc/gitlab_basics/basicsimages/submit_new_issue.png
+++ b/doc/gitlab-basics/basicsimages/submit_new_issue.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/title_description_mr.png b/doc/gitlab-basics/basicsimages/title_description_mr.png
index e08eb628414..e08eb628414 100644
--- a/doc/gitlab_basics/basicsimages/title_description_mr.png
+++ b/doc/gitlab-basics/basicsimages/title_description_mr.png
Binary files differ
diff --git a/doc/gitlab_basics/basicsimages/white_space.png b/doc/gitlab-basics/basicsimages/white_space.png
index 6363a09360e..6363a09360e 100644
--- a/doc/gitlab_basics/basicsimages/white_space.png
+++ b/doc/gitlab-basics/basicsimages/white_space.png
Binary files differ
diff --git a/doc/gitlab-basics/command-line-commands.md b/doc/gitlab-basics/command-line-commands.md
new file mode 100644
index 00000000000..a15e275f27a
--- /dev/null
+++ b/doc/gitlab-basics/command-line-commands.md
@@ -0,0 +1,72 @@
+# Command Line basic commands
+
+## Start working on your project
+
+* In Git, when you copy a project you say you "clone" it. To work on a git project locally (from your own computer), you will need to clone it. To do this, start by signing in at GitLab.com.. To do it, go to your [gitlab.com](https://gitlab.com) account
+
+* When you are on your Dashboard, click on the project that you'd like to clone, which you'll find at the right side of your screen
+
+![Select a project](basicsimages/select_project.png)
+
+* To work in the project, you can copy a link to the Git repository through a SSH or a HTTPS protocol. SSH is easier to use after it's been [setup](create-your-ssh-keys.md). When you're in the project, click on the HTTPS or SSH button at the right side of your screen. Then copy the link (you'll have to paste it on your shell in the next step)
+
+![Copy the HTTPS or SSH](basicsimages/https.png)
+
+## On the command line
+
+* To clone your project, go to your computer's shell and type the following command
+```
+git clone PASTE HTTPS OR SSH HERE
+```
+
+* A clone of the project will be created in your computer
+
+* Go into a project, directory or file to work in it
+```
+cd NAME-OF-PROJECT-OR-FILE
+```
+
+* Go back one directory or file
+```
+cd ../
+```
+
+* To see what’s in the directory that you are in
+```
+ls
+```
+
+* Create a directory
+```
+mkdir NAME-OF-YOUR-DIRECTORY
+```
+
+* Create a README.md or file in directory
+```
+touch README.md
+nano README.md
+#### ADD YOUR INFORMATION
+#### Press: control + X
+#### Type: Y
+#### Press: enter
+```
+
+* Remove a file
+```
+rm NAME-OF-FILE
+```
+
+* Remove a directory and all of its contents
+```
+rm -rf NAME-OF-DIRECTORY
+```
+
+* View history in the command line
+```
+history
+```
+
+* Carry out commands for which the account you are using lacks authority. (You will be asked for an administrator’s password)
+```
+sudo
+```
diff --git a/doc/gitlab_basics/create_your_ssh_keys.md b/doc/gitlab-basics/create-your-ssh-keys.md
index 1e7f7c28513..2b6a1f2d808 100644
--- a/doc/gitlab_basics/create_your_ssh_keys.md
+++ b/doc/gitlab-basics/create-your-ssh-keys.md
@@ -28,7 +28,7 @@ You need to connect your computer to your GitLab account through SSH Keys. They
## To generate an SSH Key on your commandline
-* Go to your [commandline](start_using_git.md) and follow the [instructions](https://gitlab.com/help/ssh/README) to generate it
+* Go to your [commandline](start-using-git.md) and follow the [instructions](https://gitlab.com/help/ssh/README) to generate it
* Copy the SSH Key that your commandline created and paste it on the "Key" box on the GitLab page. The title will be added automatically
diff --git a/doc/gitlab_basics/start_using_git.md b/doc/gitlab-basics/start-using-git.md
index f01a2f77eec..99103469ccc 100644
--- a/doc/gitlab_basics/start_using_git.md
+++ b/doc/gitlab-basics/start-using-git.md
@@ -40,7 +40,7 @@ git config --global user.name ADD YOUR USERNAME
* Then verify that you have the correct username
-```
+```
git config --global user.name
```
@@ -52,7 +52,7 @@ git config --global user.email ADD YOUR EMAIL
* To verify that you entered your email correctly, type
-```
+```
git config --global user.email
```
@@ -62,6 +62,6 @@ git config --global user.email
* To view the information that you entered, type
-```
+```
git config --global --list
```
diff --git a/doc/gitlab_basics/README.md b/doc/gitlab_basics/README.md
deleted file mode 100644
index de56c3ab4fc..00000000000
--- a/doc/gitlab_basics/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# GitLab basics
-
-Step-by-step guides on the basics of working with Git and GitLab.
-
-* [Start using Git on the commandline](start_using_git.md)
-
-* [Create and add your SSH Keys](create_your_ssh_keys.md)
diff --git a/doc/permissions/permissions.md b/doc/permissions/permissions.md
index 8cfa7f9c876..70b7e17795d 100644
--- a/doc/permissions/permissions.md
+++ b/doc/permissions/permissions.md
@@ -15,6 +15,8 @@ If a user is a GitLab administrator they receive all permissions.
| Pull project code | | ✓ | ✓ | ✓ | ✓ |
| Download project | | ✓ | ✓ | ✓ | ✓ |
| Create code snippets | | ✓ | ✓ | ✓ | ✓ |
+| Manage issue tracker | | ✓ | ✓ | ✓ | ✓ |
+| Manage labels | | ✓ | ✓ | ✓ | ✓ |
| Create new merge request | | | ✓ | ✓ | ✓ |
| Create new branches | | | ✓ | ✓ | ✓ |
| Push to non-protected branches | | | ✓ | ✓ | ✓ |
@@ -22,8 +24,6 @@ If a user is a GitLab administrator they receive all permissions.
| Remove non-protected branches | | | ✓ | ✓ | ✓ |
| Add tags | | | ✓ | ✓ | ✓ |
| Write a wiki | | | ✓ | ✓ | ✓ |
-| Manage issue tracker | | | ✓ | ✓ | ✓ |
-| Manage labels | | | ✓ | ✓ | ✓ |
| Create new milestones | | | | ✓ | ✓ |
| Add new team members | | | | ✓ | ✓ |
| Push to protected branches | | | | ✓ | ✓ |
diff --git a/spec/features/security/project/internal_access_spec.rb b/spec/features/security/project/internal_access_spec.rb
index 8d1bfd25223..4649e58cb1a 100644
--- a/spec/features/security/project/internal_access_spec.rb
+++ b/spec/features/security/project/internal_access_spec.rb
@@ -138,6 +138,18 @@ describe "Internal Project Access", feature: true do
it { is_expected.to be_denied_for :visitor }
end
+ describe "GET /:project_path/issues/:id/edit" do
+ let(:issue) { create(:issue, project: project) }
+ subject { edit_namespace_project_issue_path(project.namespace, project, issue) }
+
+ it { is_expected.to be_allowed_for master }
+ it { is_expected.to be_allowed_for reporter }
+ it { is_expected.to be_allowed_for :admin }
+ it { is_expected.to be_denied_for guest }
+ it { is_expected.to be_denied_for :user }
+ it { is_expected.to be_denied_for :visitor }
+ end
+
describe "GET /:project_path/snippets" do
subject { namespace_project_snippets_path(project.namespace, project) }
diff --git a/spec/features/security/project/private_access_spec.rb b/spec/features/security/project/private_access_spec.rb
index 9021ff33186..2866bf0355b 100644
--- a/spec/features/security/project/private_access_spec.rb
+++ b/spec/features/security/project/private_access_spec.rb
@@ -138,6 +138,18 @@ describe "Private Project Access", feature: true do
it { is_expected.to be_denied_for :visitor }
end
+ describe "GET /:project_path/issues/:id/edit" do
+ let(:issue) { create(:issue, project: project) }
+ subject { edit_namespace_project_issue_path(project.namespace, project, issue) }
+
+ it { is_expected.to be_allowed_for master }
+ it { is_expected.to be_allowed_for reporter }
+ it { is_expected.to be_allowed_for :admin }
+ it { is_expected.to be_denied_for guest }
+ it { is_expected.to be_denied_for :user }
+ it { is_expected.to be_denied_for :visitor }
+ end
+
describe "GET /:project_path/snippets" do
subject { namespace_project_snippets_path(project.namespace, project) }
diff --git a/spec/features/security/project/public_access_spec.rb b/spec/features/security/project/public_access_spec.rb
index 6ec190ed777..554c96bcdc5 100644
--- a/spec/features/security/project/public_access_spec.rb
+++ b/spec/features/security/project/public_access_spec.rb
@@ -143,6 +143,18 @@ describe "Public Project Access", feature: true do
it { is_expected.to be_allowed_for :visitor }
end
+ describe "GET /:project_path/issues/:id/edit" do
+ let(:issue) { create(:issue, project: project) }
+ subject { edit_namespace_project_issue_path(project.namespace, project, issue) }
+
+ it { is_expected.to be_allowed_for master }
+ it { is_expected.to be_allowed_for reporter }
+ it { is_expected.to be_allowed_for :admin }
+ it { is_expected.to be_denied_for guest }
+ it { is_expected.to be_denied_for :user }
+ it { is_expected.to be_denied_for :visitor }
+ end
+
describe "GET /:project_path/snippets" do
subject { namespace_project_snippets_path(project.namespace, project) }