summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/api/projects.md36
-rw-r--r--doc/api/system_hooks.md140
-rw-r--r--doc/development/architecture.md4
-rw-r--r--doc/development/shell_commands.md6
-rw-r--r--doc/install/installation.md10
-rw-r--r--doc/integration/external-issue-tracker.md2
-rw-r--r--doc/markdown/markdown.md47
-rw-r--r--doc/release/monthly.md16
-rw-r--r--doc/release/security.md2
-rw-r--r--doc/ssh/deploy_keys.md12
-rw-r--r--doc/system_hooks/system_hooks.md8
-rw-r--r--doc/update/4.2-to-5.0.md2
-rw-r--r--doc/update/5.0-to-5.1.md2
-rw-r--r--doc/update/5.1-to-5.2.md2
-rw-r--r--doc/update/5.1-to-5.4.md3
-rw-r--r--doc/update/5.1-to-6.0.md2
-rw-r--r--doc/update/5.2-to-5.3.md2
-rw-r--r--doc/update/5.3-to-5.4.md3
-rw-r--r--doc/update/5.4-to-6.0.md2
-rw-r--r--doc/update/6.0-to-6.1.md2
-rw-r--r--doc/update/6.0-to-6.7.md (renamed from doc/update/6.0-to-6.5.md)35
-rw-r--r--doc/update/6.1-to-6.2.md3
-rw-r--r--doc/update/6.6-to-6.7.md98
-rw-r--r--doc/update/mysql-to-postgresql.md9
-rw-r--r--doc/update/patch_versions.md5
-rw-r--r--doc/web_hooks/web_hooks.md1
26 files changed, 326 insertions, 128 deletions
diff --git a/doc/api/projects.md b/doc/api/projects.md
index e795298c672..54618d7c045 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -148,6 +148,16 @@ Parameters:
"path": "diaspora",
"updated_at": "2013-09-30T13: 46: 02Z"
}
+ "permissions": {
+ "project_access": {
+ "access_level": 10,
+ "notification_level": 3
+ },
+ "group_access": {
+ "access_level": 50,
+ "notification_level": 3
+ }
+ }
}
```
@@ -611,3 +621,29 @@ Parameters:
+ query (required) - A string contained in the project name
+ per_page (optional) - number of projects to return per page
+ page (optional) - the page to retrieve
+
+
+## Labels
+
+### List project labels
+
+Get a list of project labels.
+
+```
+GET /projects/:id/labels
+```
+
+Parameters:
+
++ `id` (required) - The ID or NAMESPACE/PROJECT_NAME of a project
+
+```json
+[
+ {
+ "name":"featute"
+ },
+ {
+ "name": "bug"
+ }
+]
+```
diff --git a/doc/api/system_hooks.md b/doc/api/system_hooks.md
index 355ce31c126..2e87ada1d70 100644
--- a/doc/api/system_hooks.md
+++ b/doc/api/system_hooks.md
@@ -1,70 +1,70 @@
-All methods require admin authorization.
-
-The url endpoint of the system hooks can be configured in [the admin area under hooks](/admin/hooks).
-
-## List system hooks
-
-Get list of system hooks
-
-```
-GET /hooks
-```
-
-Parameters:
-
-+ **none**
-
-```json
-[
- {
- "id":3,
- "url":"http://example.com/hook",
- "created_at":"2013-10-02T10:15:31Z"
- }
-]
-```
-
-## Add new system hook hook
-
-```
-POST /hooks
-```
-
-Parameters:
-
-+ `url` (required) - The hook URL
-
-
-## Test system hook
-
-```
-GET /hooks/:id
-```
-
-Parameters:
-
-+ `id` (required) - The ID of hook
-
-```json
-{
- "event_name":"project_create",
- "name":"Ruby",
- "path":"ruby",
- "project_id":1,
- "owner_name":"Someone",
- "owner_email":"example@gitlabhq.com"
-}
-```
-
-## Delete system hook
-
-Deletes a system hook. This is an idempotent API function and returns `200 Ok` even if the hook
-is not available. If the hook is deleted it is also returned as JSON.
-
-```
-DELETE /hooks/:id
-```
-
-Parameters:
-
-+ `id` (required) - The ID of hook
+All methods require admin authorization.
+
+The url endpoint of the system hooks can be configured in [the admin area under hooks](/admin/hooks).
+
+## List system hooks
+
+Get list of system hooks
+
+```
+GET /hooks
+```
+
+Parameters:
+
++ **none**
+
+```json
+[
+ {
+ "id":3,
+ "url":"http://example.com/hook",
+ "created_at":"2013-10-02T10:15:31Z"
+ }
+]
+```
+
+## Add new system hook hook
+
+```
+POST /hooks
+```
+
+Parameters:
+
++ `url` (required) - The hook URL
+
+
+## Test system hook
+
+```
+GET /hooks/:id
+```
+
+Parameters:
+
++ `id` (required) - The ID of hook
+
+```json
+{
+ "event_name":"project_create",
+ "name":"Ruby",
+ "path":"ruby",
+ "project_id":1,
+ "owner_name":"Someone",
+ "owner_email":"example@gitlabhq.com"
+}
+```
+
+## Delete system hook
+
+Deletes a system hook. This is an idempotent API function and returns `200 Ok` even if the hook
+is not available. If the hook is deleted it is also returned as JSON.
+
+```
+DELETE /hooks/:id
+```
+
+Parameters:
+
++ `id` (required) - The ID of hook
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index 8a772344b79..805e115047a 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -3,7 +3,7 @@
# Software delivery
-There are two editions of GitLab: [Enterprise Edition](https://www.gitlab.com/features/) (EE) and [Community Edition](http://gitlab.org/gitlab-ce/) (CE).
+There are two editions of GitLab: [Enterprise Edition](https://www.gitlab.com/gitlab-ee/) (EE) and [Community Edition](https://www.gitlab.com/gitlab-ce/) (CE).
GitLab CE is delivered via git from the [gitlabhq repository](https://gitlab.com/gitlab-org/gitlab-ce/tree/master).
New versions of GitLab are released in stable branches and the master branch is for bleeding edge development.
@@ -18,7 +18,7 @@ New releases are generally around the same time as GitLab CE releases with excep
# System Layout
-When referring to ~git in the picures it means the home directory of the git user which is typically /home/git.
+When referring to ~git in the pictures it means the home directory of the git user which is typically /home/git.
GitLab is primarily installed within the `/home/git` user home directory as `git` user.
Within the home directory is where the gitlabhq server software resides as well as the repositories (though the repository location is configurable).
diff --git a/doc/development/shell_commands.md b/doc/development/shell_commands.md
index 57b1172d5e6..af0d5ca4426 100644
--- a/doc/development/shell_commands.md
+++ b/doc/development/shell_commands.md
@@ -1,5 +1,11 @@
# Guidelines for shell commands in the GitLab codebase
+## References
+
+- [Google Ruby Security Reviewer's Guide](https://code.google.com/p/ruby-security/wiki/Guide)
+- [OWASP Command Injection](https://www.owasp.org/index.php/Command_Injection)
+- [Ruby on Rails Security Guide Command Line Injection](http://guides.rubyonrails.org/security.html#command-line-injection)
+
## Use File and FileUtils instead of shell commands
Sometimes we invoke basic Unix commands via the shell when there is also a Ruby API for doing it.
diff --git a/doc/install/installation.md b/doc/install/installation.md
index d6e0a8a0012..addb21b50e0 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -4,7 +4,7 @@ this should be the highest numbered stable branch (example shown below).
![capture](http://i.imgur.com/d2AlIVj.png)
-If this is unclear check the [GitLab Blog](http://blog.gitlab.org/) for installation guide links by version.
+If this is unclear check the [GitLab Blog](https://www.gitlab.com/blog/) for installation guide links by version.
# Important notes
@@ -128,7 +128,7 @@ GitLab Shell is an ssh access and repository management software developed speci
cd /home/git
# Clone gitlab shell
- sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-shell.git -b v1.8.0
+ sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-shell.git -b v1.9.1
cd gitlab-shell
@@ -144,7 +144,7 @@ GitLab Shell is an ssh access and repository management software developed speci
# 5. Database
-We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](doc/install/database_mysql.md).
+We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](database_mysql.md).
# Install the database packages
sudo apt-get install -y postgresql-9.1 postgresql-client libpq-dev
@@ -173,7 +173,7 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](do
## Clone the Source
# Clone GitLab repository
- sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-6-stable gitlab
+ sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-7-stable gitlab
# Go to gitlab dir
cd /home/git/gitlab
@@ -351,7 +351,7 @@ If all items are green, then congratulations on successfully installing GitLab!
Visit YOUR_SERVER in your web browser for your first GitLab login.
The setup has created an admin account for you. You can use it to log in:
- admin@local.host
+ root
5iveL!fe
**Important Note:**
diff --git a/doc/integration/external-issue-tracker.md b/doc/integration/external-issue-tracker.md
index 02eadfd410a..3212ebd64b5 100644
--- a/doc/integration/external-issue-tracker.md
+++ b/doc/integration/external-issue-tracker.md
@@ -5,3 +5,5 @@ GitLab has a great issue tracker but you can also use an external issue tracker
- textual references to PROJECT-1234 in comments, commit messages get turned into HTML links to the corresponding JIRA issue.
![jira screenshot](jira-intergration-points.png)
+
+You can configure the integration in the gitlab.yml configuration file.
diff --git a/doc/markdown/markdown.md b/doc/markdown/markdown.md
index f49f09756ab..e7ebc613431 100644
--- a/doc/markdown/markdown.md
+++ b/doc/markdown/markdown.md
@@ -8,23 +8,38 @@ Table of Contents
**[GitLab Flavored Markdown](#gitlab-flavored-markdown-gfm)**
[Newlines](#newlines)
+
[Multiple underscores in words](#multiple-underscores-in-words)
+
[URL autolinking](#url-autolinking)
+
[Code and Syntax Highlighting](#code-and-syntax-highlighting)
+
[Emoji](#emoji)
+
[Special GitLab references](#special-gitlab-references)
+
**[Standard Markdown](#standard-markdown)**
[Headers](#headers)
+
[Emphasis](#emphasis)
+
[Lists](#lists)
+
[Links](#links)
+
[Images](#images)
+
[Blockquotes](#blockquotes)
+
[Inline HTML](#inline-html)
+
[Horizontal Rule](#horizontal-rule)
+
[Line Breaks](#line-breaks)
+
[Tables](#tables)
**[References](#references)**
@@ -33,7 +48,8 @@ Table of Contents
GitLab Flavored Markdown (GFM)
==============================
-For GitLab we developed something we call "GitLab Flavored Markdown" (GFM). It extends the standard Markdown in a few significant ways to add some useful functionality.
+For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
+It extends the standard Markdown in a few significant ways to add some useful functionality.
You can use GFM in
@@ -51,16 +67,20 @@ Please see the [github-markup gem readme](https://github.com/gitlabhq/markup#mar
Newlines
--------
-The biggest difference that GFM introduces is in the handling of linebreaks. With traditional Markdown you can hard wrap paragraphs of text and they will be combined into a single paragraph. We find this to be the cause of a huge number of unintentional formatting errors. GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.
+GFM honors the markdown specification in how [paragraphs and line breaks are handled](http://daringfireball.net/projects/markdown/syntax#p).
-The next paragraph contains two phrases separated by a single newline character:
+A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines.:
Roses are red
Violets are blue
+ Sugar is sweet
+
Roses are red
Violets are blue
+Sugar is sweet
+
Multiple underscores in words
-----------------------------
It is not reasonable to italicize just _part_ of a word, especially when you're dealing with code and names that often appear with multiple underscores. Therefore, GFM ignores multiple underscores in words.
@@ -319,13 +339,13 @@ Strikethrough uses two tildes. ~~Scratch this.~~
## Links
-There are two ways to create links.
+There are two ways to create links, inline-style and reference-style.
[I'm an inline-style link](https://www.google.com)
[I'm a reference-style link][Arbitrary case-insensitive reference text]
- [I'm a relative reference to a repository file](../blob/master/LICENSE)
+ [I'm a relative reference to a repository file](LICENSE)
[You can use numbers for reference-style link definitions][1]
@@ -341,7 +361,7 @@ There are two ways to create links.
[I'm a reference-style link][Arbitrary case-insensitive reference text]
-[I'm a relative reference to a repository file](../blob/master/LICENSE)
+[I'm a relative reference to a repository file](LICENSE)
[You can use numbers for reference-style link definitions][1]
@@ -353,6 +373,15 @@ Some text to show that the reference links can follow later.
[1]: http://slashdot.org
[link text itself]: http://www.reddit.com
+**Note**
+
+Relative links do not allow referencing project files in a wiki page or wiki page in a project file.
+The reason for this is that, in GitLab, wiki is always a separate git repository. For example:
+
+`[I'm a reference-style link][style]`
+
+will point the link to `wikis/style` when the link is inside of a wiki markdown file.
+
## Images
Here's our logo (hover to see the title text):
@@ -365,15 +394,15 @@ Some text to show that the reference links can follow later.
[logo]: assets/logo-white.png
-Here's our logo (hover to see the title text):
+Here's our logo:
Inline-style:
-![alt text](/assets/logo-white.png "Logo Title Text 1")
+![alt text](/assets/logo-white.png)
Reference-style:
![alt text][logo]
-[logo]: /assets/logo-white.png "Logo Title Text 2"
+[logo]: /assets/logo-white.png
## Blockquotes
diff --git a/doc/release/monthly.md b/doc/release/monthly.md
index 28fc260b334..08149b4da86 100644
--- a/doc/release/monthly.md
+++ b/doc/release/monthly.md
@@ -58,19 +58,17 @@ Check if changed since last release (~22nd of last month depending on when last
After making the release branch new commits are cherry-picked from master. When the release gets closer we get more selective what is cherry-picked. The days of the month are approximately as follows:
-* 17th: feature freeze (stop merging new features in master)
-* 18th: UI freeze (stop merging changes to the user interface)
-* 19th: code freeze (stop merging non-essential code improvements)
-* 20th: release candidate 1 (VERSION x.x.0.rc1, tag and tweet about x.x.0.rc1)
-* 21st: optional release candidate 2 (x.x.0.rc2, only if rc1 had problems)
+* 1-7th: official merge window (see contributing guide)
+* 8-14th: work on bugfixes, sponsored features and GitLab EE
+* 15th: code freeze (stop merging into master except essential bugfixes)
+* 18th: release candidate 1 (VERSION x.x.0.rc1, tag and tweet about x.x.0.rc1, release on GitLab Cloud)
+* 20st: 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
+* 24-end of month: release GitLab EE and GitLab CI
# Write a blog post
* Mention what GitLab is on the second line: GitLab is open source software to collaborate on code.
* Select and thank the the Most Valuable Person (MVP) of this release.
-* Add a note if there are security fixes: This release fixes an important security issue and we advise everyone to upgrade as soon as possible. \ No newline at end of file
+* Add a note if there are security fixes: This release fixes an important security issue and we advise everyone to upgrade as soon as possible.
diff --git a/doc/release/security.md b/doc/release/security.md
index 7ec3991de85..8e5a7e32099 100644
--- a/doc/release/security.md
+++ b/doc/release/security.md
@@ -15,7 +15,7 @@ Please report suspected security vulnerabilities in private to support@gitlab.co
1. Acknowledge the issue to the researcher that disclosed it
1. Fix the issue on a feature branch, do this on the private GitLab development server and update the VERSION and CHANGELOG in this branch
1. Consider creating and testing workarounds
-1. Create feature branches for the blog posts on GitLab.org and GitLab.com and link them from the code branch
+1. Create feature branches for the blog post on GitLab.com and link them from the code branch
1. Merge the code feature branch into master
1. Cherry-pick the code into the latest stable branch
1. Create a git tag vX.X.X for CE and another patch release for EE
diff --git a/doc/ssh/deploy_keys.md b/doc/ssh/deploy_keys.md
new file mode 100644
index 00000000000..56fe98bb101
--- /dev/null
+++ b/doc/ssh/deploy_keys.md
@@ -0,0 +1,12 @@
+Deploy keys allow read-only access one or multiple projects with a single SSH key.
+
+This is really useful for cloning repositories to your Continuous Integration (CI) server.
+By using a deploy keys you don't have to setup a dummy user account.
+
+If you are a project master or owner you can add a deploy key in the project settings under the section Deploy Keys.
+Press the 'New Deploy Key' button and upload a public ssh key.
+After this the machine that uses the corresponding private key has read-only access to the project.
+
+You can't add the same deploy key twice with the 'New Deploy Key' option.
+If you want to add the same key to another project please enable it in the list that says 'Deploy keys from projects available to you'.
+You need to be the owner of the deploy key to see it in this list.
diff --git a/doc/system_hooks/system_hooks.md b/doc/system_hooks/system_hooks.md
index fe32ca1a9fa..76ca2a59911 100644
--- a/doc/system_hooks/system_hooks.md
+++ b/doc/system_hooks/system_hooks.md
@@ -11,8 +11,8 @@ System hooks can be used, e.g. for logging or changing information in a LDAP ser
"created_at": "2012-07-21T07:30:54Z",
"event_name": "project_create",
"name": "StoreCloud",
- "owner_email": "johnsmith@gmail.com"
- "owner_name": "John Smit",
+ "owner_email": "johnsmith@gmail.com",
+ "owner_name": "John Smith",
"path": "stormcloud",
"path_with_namespace": "jsmith/stormcloud",
"project_id": 74,
@@ -26,7 +26,7 @@ System hooks can be used, e.g. for logging or changing information in a LDAP ser
"created_at": "2012-07-21T07:30:58Z",
"event_name": "project_destroy",
"name": "Underscore",
- "owner_email": "johnsmith@gmail.com"
+ "owner_email": "johnsmith@gmail.com",
"owner_name": "John Smith",
"path": "underscore",
"path_with_namespace": "jsmith/underscore",
@@ -36,7 +36,7 @@ System hooks can be used, e.g. for logging or changing information in a LDAP ser
**New Team Member:**
-```ruby
+```json
{
"created_at": "2012-07-21T07:30:56Z",
"event_name": "user_add_to_team",
diff --git a/doc/update/4.2-to-5.0.md b/doc/update/4.2-to-5.0.md
index 5bf8c367734..f8fb607e016 100644
--- a/doc/update/4.2-to-5.0.md
+++ b/doc/update/4.2-to-5.0.md
@@ -1,7 +1,7 @@
# From 4.2 to 5.0
## Warning
-GitLab 5.0 is affected by critical security vulnerability CVE-2013-4490. Please update to GitLab 5.4 immediately.
+GitLab 5.0 is affected by critical security vulnerability CVE-2013-4490.
## Important changes
diff --git a/doc/update/5.0-to-5.1.md b/doc/update/5.0-to-5.1.md
index 24d96e43bad..ba56507dd81 100644
--- a/doc/update/5.0-to-5.1.md
+++ b/doc/update/5.0-to-5.1.md
@@ -1,7 +1,7 @@
# From 5.0 to 5.1
## Warning
-GitLab 5.1 is affected by critical security vulnerability CVE-2013-4490. Please [update to GitLab 5.4 immediately](5.1-to-5.4.md).
+GitLab 5.1 is affected by critical security vulnerability CVE-2013-4490.
## Release notes:
diff --git a/doc/update/5.1-to-5.2.md b/doc/update/5.1-to-5.2.md
index e4eaee91b8e..466c815195f 100644
--- a/doc/update/5.1-to-5.2.md
+++ b/doc/update/5.1-to-5.2.md
@@ -1,7 +1,7 @@
# From 5.1 to 5.2
## Warning
-GitLab 5.2 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489. Please [update to GitLab 5.4 directly](5.1-to-5.4.md).
+GitLab 5.2 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
### 0. Backup
diff --git a/doc/update/5.1-to-5.4.md b/doc/update/5.1-to-5.4.md
index 39cacd381a3..56f4854daf0 100644
--- a/doc/update/5.1-to-5.4.md
+++ b/doc/update/5.1-to-5.4.md
@@ -1,9 +1,6 @@
# From 5.1 to 5.4
Also works starting from 5.2.
-## Notice
-Security vulnerabilities CVE-2013-4490 and CVE-2013-4489 have been patched in the latest version of GitLab 5.4.
-
### 0. Backup
It's useful to make a backup just in case things go south:
diff --git a/doc/update/5.1-to-6.0.md b/doc/update/5.1-to-6.0.md
index fa0f9ce54b6..5b74b1f893d 100644
--- a/doc/update/5.1-to-6.0.md
+++ b/doc/update/5.1-to-6.0.md
@@ -1,7 +1,7 @@
# From 5.1 to 6.0
## Warning
-GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489. Please [update to GitLab 6.2 immediately](6.0-to-6.2.md).
+GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
### Deprecations
diff --git a/doc/update/5.2-to-5.3.md b/doc/update/5.2-to-5.3.md
index 7f89f6bf887..e3c3016db64 100644
--- a/doc/update/5.2-to-5.3.md
+++ b/doc/update/5.2-to-5.3.md
@@ -1,7 +1,7 @@
# From 5.2 to 5.3
## Warning
-GitLab 5.3 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489. Please [update to GitLab 5.4 directly](5.1-to-5.4.md).
+GitLab 5.3 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
### 0. Backup
diff --git a/doc/update/5.3-to-5.4.md b/doc/update/5.3-to-5.4.md
index 7a24c11c223..213ce77ec38 100644
--- a/doc/update/5.3-to-5.4.md
+++ b/doc/update/5.3-to-5.4.md
@@ -1,8 +1,5 @@
# From 5.3 to 5.4
-## Notice
-Security vulnerabilities CVE-2013-4490 and CVE-2013-4489 have been patched in the latest version of GitLab 5.4.
-
### 0. Backup
It's useful to make a backup just in case things go south:
diff --git a/doc/update/5.4-to-6.0.md b/doc/update/5.4-to-6.0.md
index 312e9a46080..c289fcb57fd 100644
--- a/doc/update/5.4-to-6.0.md
+++ b/doc/update/5.4-to-6.0.md
@@ -1,7 +1,7 @@
# From 5.4 to 6.0
## Warning
-GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489. Please [update to GitLab 6.2 immediately](6.0-to-6.2.md).
+GitLab 6.0 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
### Deprecations
diff --git a/doc/update/6.0-to-6.1.md b/doc/update/6.0-to-6.1.md
index b7fd7634859..b4cc9203587 100644
--- a/doc/update/6.0-to-6.1.md
+++ b/doc/update/6.0-to-6.1.md
@@ -1,7 +1,7 @@
# From 6.0 to 6.1
## Warning
-GitLab 6.1 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489. Please [update to GitLab 6.2 directly](6.0-to-6.2.md).
+GitLab 6.1 is affected by critical security vulnerabilities CVE-2013-4490 and CVE-2013-4489.
# In 6.1 we remove a lot of deprecated code.
# You should update to 6.0 before installing 6.1 so all the necessary conversions are run.
diff --git a/doc/update/6.0-to-6.5.md b/doc/update/6.0-to-6.7.md
index e01cc589a83..68878bb9cd9 100644
--- a/doc/update/6.0-to-6.5.md
+++ b/doc/update/6.0-to-6.7.md
@@ -1,4 +1,4 @@
-# From 6.0 to 6.5
+# From 6.0 to 6.7
# In 6.1 we remove a lot of deprecated code.
# You should update to 6.0 before installing 6.1 or higher so all the necessary conversions are run.
@@ -28,8 +28,20 @@ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
```bash
cd /home/git/gitlab
sudo -u git -H git fetch --all
-sudo -u git -H git checkout 6-5-stable
-# For GitLab Enterprise Edition: sudo -u git -H git checkout 6-5-stable-ee
+```
+
+For Gitlab Community Edition:
+
+```bash
+sudo -u git -H git checkout 6-7-stable
+```
+
+OR
+
+For GitLab Enterprise Edition:
+
+```bash
+sudo -u git -H git checkout 6-7-stable-ee
```
@@ -45,7 +57,7 @@ sudo apt-get install logrotate
```bash
cd /home/git/gitlab-shell
sudo -u git -H git fetch
-sudo -u git -H git checkout v1.8.0 # Addresses multiple critical security vulnerabilities
+sudo -u git -H git checkout v1.9.1 # Addresses multiple critical security vulnerabilities
```
### 5. Install libs, migrations, etc.
@@ -60,11 +72,14 @@ sudo -u git -H bundle install --without development test postgres --deployment
sudo -u git -H bundle install --without development test mysql --deployment
+# Run database migrations
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
+
+# Enable internal issue IDs (introduced in GitLab 6.1)
sudo -u git -H bundle exec rake migrate_iids RAILS_ENV=production
-sudo -u git -H bundle exec rake assets:clean RAILS_ENV=production
-sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
-sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
+
+# Clean up assets and cache
+sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
```
### 6. Update config files
@@ -72,11 +87,11 @@ sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
TIP: to see what changed in gitlab.yml.example in this release use next command:
```
-git diff 6-0-stable:config/gitlab.yml.example 6-5-stable:config/gitlab.yml.example
+git diff 6-0-stable:config/gitlab.yml.example 6-7-stable:config/gitlab.yml.example
```
-* Make `/home/git/gitlab/config/gitlab.yml` same as https://gitlab.com/gitlab-org/gitlab-ce/blob/6-5-stable/config/gitlab.yml.example but with your settings.
-* Make `/home/git/gitlab/config/unicorn.rb` same as https://gitlab.com/gitlab-org/gitlab-ce/blob/6-5-stable/config/unicorn.rb.example but with your settings.
+* Make `/home/git/gitlab/config/gitlab.yml` same as https://gitlab.com/gitlab-org/gitlab-ce/blob/6-7-stable/config/gitlab.yml.example but with your settings.
+* Make `/home/git/gitlab/config/unicorn.rb` same as https://gitlab.com/gitlab-org/gitlab-ce/blob/6-7-stable/config/unicorn.rb.example but with your settings.
* Copy rack attack middleware config
```bash
diff --git a/doc/update/6.1-to-6.2.md b/doc/update/6.1-to-6.2.md
index 3c453a5ab42..c618e599dcb 100644
--- a/doc/update/6.1-to-6.2.md
+++ b/doc/update/6.1-to-6.2.md
@@ -1,8 +1,5 @@
# From 6.1 to 6.2
-## Notice
-Security vulnerabilities CVE-2013-4490 and CVE-2013-4489 have been patched in the latest version of GitLab 6.2.
-
# You should update to 6.1 before installing 6.2 so all the necessary conversions are run.
### 0. Backup
diff --git a/doc/update/6.6-to-6.7.md b/doc/update/6.6-to-6.7.md
new file mode 100644
index 00000000000..8a16e5d67be
--- /dev/null
+++ b/doc/update/6.6-to-6.7.md
@@ -0,0 +1,98 @@
+# From 6.6 to 6.7
+
+### 0. Backup
+
+```bash
+cd /home/git/gitlab
+sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
+```
+
+### 1. Stop server
+
+ sudo service gitlab stop
+
+### 2. Get latest code
+
+```bash
+cd /home/git/gitlab
+sudo -u git -H git fetch --all
+```
+
+For Gitlab Community Edition:
+
+```bash
+sudo -u git -H git checkout 6-7-stable
+```
+
+OR
+
+For GitLab Enterprise Edition:
+
+```bash
+sudo -u git -H git checkout 6-7-stable-ee
+```
+
+### 3. Update gitlab-shell (and its config)
+
+```bash
+cd /home/git/gitlab-shell
+sudo -u git -H git fetch
+sudo -u git -H git checkout v1.9.1
+```
+
+### 4. Install libs, migrations, etc.
+
+```bash
+cd /home/git/gitlab
+
+# MySQL installations (note: the line below states '--without ... postgres')
+sudo -u git -H bundle install --without development test postgres --deployment
+
+# PostgreSQL installations (note: the line below states '--without ... mysql')
+sudo -u git -H bundle install --without development test mysql --deployment
+
+
+# Run database migrations
+sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
+
+# Clean up assets and cache
+sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
+
+# Update init.d script
+sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
+
+# Update the logrotate configuration (keep logs for 90 days instead of 52 weeks)
+sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
+```
+
+
+### 5. Start application
+
+ sudo service gitlab start
+ sudo service nginx restart
+
+### 6. Check application status
+
+Check if GitLab and its environment are configured correctly:
+
+ sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
+
+To make sure you didn't miss anything run a more thorough check with:
+
+ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
+
+If all items are green, then congratulations upgrade is complete!
+
+## Things went south? Revert to previous version (6.6)
+
+### 1. Revert the code to the previous version
+Follow the [`upgrade guide from 6.5 to 6.6`](6.5-to-6.6.md), except for the database migration
+(The backup is already migrated to the previous version)
+
+### 2. Restore from the backup:
+
+```bash
+cd /home/git/gitlab
+sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production
+```
+If you have more than one backup *.tar file(s) please add `BACKUP=timestamp_of_backup` to the command above.
diff --git a/doc/update/mysql-to-postgresql.md b/doc/update/mysql-to-postgresql.md
new file mode 100644
index 00000000000..9a324545eb0
--- /dev/null
+++ b/doc/update/mysql-to-postgresql.md
@@ -0,0 +1,9 @@
+# Use the shell commands below to convert a MySQL GitLab database to a PostgreSQL one.
+
+```
+git clone https://github.com/lanyrd/mysql-postgresql-converter.git
+cd mysql-postgresql-converter
+mysqldump --compatible=postgresql --default-character-set=utf8 -r databasename.mysql -u root gitlabhq_production
+python db_converter.py databasename.mysql databasename.psql
+psql -f databasename.psql -d gitlabhq_production
+```
diff --git a/doc/update/patch_versions.md b/doc/update/patch_versions.md
index 21b93c0b929..2b947adaa13 100644
--- a/doc/update/patch_versions.md
+++ b/doc/update/patch_versions.md
@@ -18,10 +18,11 @@ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
```bash
cd /home/git/gitlab
-sudo -u git -H git pull origin STABLE_BRANCH
+sudo -u git -H git fetch --all
+sudo -u git -H git checkout LATEST_TAG
```
-Replace STABLE_BRANCH with the minor version you want to upgrade to, for example `6-3-stable`.
+Replace LATEST_TAG with the latest GitLab tag you want to upgrade to, for example `v6.6.3`.
### 3. Update gitlab-shell if it is not the latest version
diff --git a/doc/web_hooks/web_hooks.md b/doc/web_hooks/web_hooks.md
index 64cce45945e..f80891e264d 100644
--- a/doc/web_hooks/web_hooks.md
+++ b/doc/web_hooks/web_hooks.md
@@ -5,6 +5,7 @@ Project web hooks allow you to trigger an URL if new code is pushed or a new iss
You can configure web hook to listen for specific events like pushes, issues, merge requests.
GitLab will send POST request with data to web hook URL.
Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server.
+If you send a web hook to an SSL endpoint [the certificate will not be verified](https://gitlab.com/gitlab-org/gitlab-ce/blob/ccd617e58ea71c42b6b073e692447d0fe3c00be6/app/models/web_hook.rb#L35) since many people use self-signed certificates.
---