summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/stylesheets/generic/timeline.scss77
-rw-r--r--app/assets/stylesheets/sections/notes.scss26
-rw-r--r--app/views/projects/notes/_diff_notes_with_reply.html.haml2
-rw-r--r--app/views/projects/notes/_discussion.html.haml19
-rw-r--r--app/views/projects/notes/_note.html.haml117
-rw-r--r--app/views/projects/notes/_notes_with_form.html.haml2
-rw-r--r--app/views/projects/notes/discussions/_active.html.haml1
-rw-r--r--app/views/projects/notes/discussions/_commit.html.haml1
-rw-r--r--app/views/projects/notes/discussions/_outdated.html.haml1
-rw-r--r--doc/install/installation.md2
-rw-r--r--doc/release/monthly.md20
-rw-r--r--doc/update/6.0-to-7.2.md4
-rw-r--r--doc/update/7.1-to-7.2.md6
-rw-r--r--doc/update/upgrader.md2
14 files changed, 174 insertions, 106 deletions
diff --git a/app/assets/stylesheets/generic/timeline.scss b/app/assets/stylesheets/generic/timeline.scss
new file mode 100644
index 00000000000..f29cf25fa4c
--- /dev/null
+++ b/app/assets/stylesheets/generic/timeline.scss
@@ -0,0 +1,77 @@
+.timeline {
+ list-style: none;
+ padding: 20px 0 20px;
+ position: relative;
+
+ &:before {
+ top: 0;
+ bottom: 0;
+ position: absolute;
+ content: " ";
+ width: 3px;
+ background-color: #eeeeee;
+ margin-left: 29px;
+ }
+
+ .timeline-entry {
+ position: relative;
+ margin-top: 5px;
+ margin-left: 30px;
+ margin-bottom: 10px;
+ clear: both;
+
+
+ &:target {
+ .timeline-entry-inner .timeline-content {
+ -webkit-animation:target-note 2s linear;
+ background: $hover;
+ }
+ }
+
+ .timeline-entry-inner {
+ position: relative;
+ margin-left: -20px;
+
+ &:before, &:after {
+ content: " ";
+ display: table;
+ }
+
+ .timeline-icon {
+ margin-top: 2px;
+ background: #fff;
+ color: #737881;
+ float: left;
+ @include border-radius(40px);
+ @include box-shadow(0 0 0 3px #EEE);
+ overflow: hidden;
+
+ .avatar {
+ margin: 0;
+ padding: 0;
+ }
+ }
+
+ .timeline-content {
+ position: relative;
+ background: #f5f5f6;
+ padding: 10px 15px;
+ margin-left: 60px;
+
+ &:after {
+ content: '';
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 9px 9px 9px 0;
+ border-color: transparent #f5f5f6 transparent transparent;
+ left: 0;
+ top: 10px;
+ margin-left: -9px;
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/stylesheets/sections/notes.scss b/app/assets/stylesheets/sections/notes.scss
index 18db7abc64e..37cfb3d845b 100644
--- a/app/assets/stylesheets/sections/notes.scss
+++ b/app/assets/stylesheets/sections/notes.scss
@@ -17,7 +17,6 @@ ul.notes {
.discussion-header,
.note-header {
@extend .cgray;
- padding-top: 5px;
padding-bottom: 15px;
.avatar {
@@ -43,34 +42,20 @@ ul.notes {
}
.discussion {
- padding: 10px 0;
overflow: hidden;
display: block;
position:relative;
- border-bottom: 1px solid #EEE;
-
- .discussion-body {
- margin-left: 50px;
- }
}
.note {
- padding: 8px 0;
- overflow: hidden;
display: block;
position:relative;
- border-bottom: 1px solid #eee;
p { color: $style_color; }
-
- .avatar {
- margin-top: 3px;
- }
.attachment {
font-size: 14px;
}
.note-body {
@include md-typography;
- margin-left: 43px;
}
.note-header {
padding-bottom: 3px;
@@ -80,11 +65,6 @@ ul.notes {
border-bottom: none;
}
}
-
- .note:target {
- -webkit-animation:target-note 2s linear;
- background: #fffff0;
- }
}
.diff-file .notes_holder {
@@ -99,7 +79,7 @@ ul.notes {
&.notes_line {
text-align: center;
padding: 10px 0;
- background: #eee;
+ background: #FFF;
}
&.notes_line2 {
text-align: center;
@@ -362,3 +342,7 @@ ul.notes {
border-top: 1px solid #DDD;
}
}
+
+.discussion-notes-count {
+ font-size: 16px;
+}
diff --git a/app/views/projects/notes/_diff_notes_with_reply.html.haml b/app/views/projects/notes/_diff_notes_with_reply.html.haml
index 79a66eff129..a01056b7166 100644
--- a/app/views/projects/notes/_diff_notes_with_reply.html.haml
+++ b/app/views/projects/notes/_diff_notes_with_reply.html.haml
@@ -3,7 +3,7 @@
- if !defined?(line) || line == note.diff_line
%tr.notes_holder
%td.notes_line{ colspan: 2 }
- %span.btn.disabled
+ %span.discussion-notes-count
%i.icon-comment
= notes.count
%td.notes_content
diff --git a/app/views/projects/notes/_discussion.html.haml b/app/views/projects/notes/_discussion.html.haml
index 8c7964cbf3e..f4c6fad2fed 100644
--- a/app/views/projects/notes/_discussion.html.haml
+++ b/app/views/projects/notes/_discussion.html.haml
@@ -1,8 +1,13 @@
- note = discussion_notes.first
-- if note.for_merge_request?
- - if note.outdated?
- = render "projects/notes/discussions/outdated", discussion_notes: discussion_notes
- - else
- = render "projects/notes/discussions/active", discussion_notes: discussion_notes
-- else
- = render "projects/notes/discussions/commit", discussion_notes: discussion_notes
+.timeline-entry
+ .timeline-entry-inner
+ .timeline-icon
+ = image_tag avatar_icon(note.author_email), class: "avatar s40"
+ .timeline-content
+ - if note.for_merge_request?
+ - if note.outdated?
+ = render "projects/notes/discussions/outdated", discussion_notes: discussion_notes
+ - else
+ = render "projects/notes/discussions/active", discussion_notes: discussion_notes
+ - else
+ = render "projects/notes/discussions/commit", discussion_notes: discussion_notes
diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml
index 5e84aed0cc4..90fc554e987 100644
--- a/app/views/projects/notes/_note.html.haml
+++ b/app/views/projects/notes/_note.html.haml
@@ -1,66 +1,69 @@
-%li{ id: dom_id(note), class: dom_class(note), data: { discussion: note.discussion_id } }
- .note-header
- .note-actions
- = link_to "##{dom_id(note)}", name: dom_id(note) do
- %i.icon-link
- Link here
-  
- - if(note.author_id == current_user.try(:id)) || can?(current_user, :admin_note, @project)
- = link_to "#", title: "Edit comment", class: "js-note-edit" do
- %i.icon-edit
- Edit
-  
- = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do
- %i.icon-trash.cred
- Remove
- = image_tag avatar_icon(note.author_email), class: "avatar s32"
- = link_to_member(@project, note.author, avatar: false)
- %span.note-last-update
- = note_timestamp(note)
+%li.timeline-entry{ id: dom_id(note), class: dom_class(note), data: { discussion: note.discussion_id } }
+ .timeline-entry-inner
+ .timeline-icon
+ = image_tag avatar_icon(note.author_email), class: "avatar s40"
+ .timeline-content
+ .note-header
+ .note-actions
+ = link_to "##{dom_id(note)}", name: dom_id(note) do
+ %i.icon-link
+ Link here
+  
+ - if(note.author_id == current_user.try(:id)) || can?(current_user, :admin_note, @project)
+ = link_to "#", title: "Edit comment", class: "js-note-edit" do
+ %i.icon-edit
+ Edit
+  
+ = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do
+ %i.icon-trash.cred
+ Remove
+ = link_to_member(@project, note.author, avatar: false)
+ %span.note-last-update
+ = note_timestamp(note)
- - if note.upvote?
- %span.vote.upvote.label.label-success
- %i.icon-thumbs-up
- \+1
- - if note.downvote?
- %span.vote.downvote.label.label-danger
- %i.icon-thumbs-down
- \-1
+ - if note.upvote?
+ %span.vote.upvote.label.label-success
+ %i.icon-thumbs-up
+ \+1
+ - if note.downvote?
+ %span.vote.downvote.label.label-danger
+ %i.icon-thumbs-down
+ \-1
- .note-body
- .note-text
- = preserve do
- = markdown(note.note, {no_header_anchors: true})
+ .note-body
+ .note-text
+ = preserve do
+ = markdown(note.note, {no_header_anchors: true})
- .note-edit-form
- = form_for note, url: project_note_path(@project, note), method: :put, remote: true, authenticity_token: true do |f|
- = f.text_area :note, class: 'note_text js-note-text js-gfm-input turn-on'
+ .note-edit-form
+ = form_for note, url: project_note_path(@project, note), method: :put, remote: true, authenticity_token: true do |f|
+ = f.text_area :note, class: 'note_text js-note-text js-gfm-input turn-on'
- .form-actions.clearfix
- = f.submit 'Save changes', class: "btn btn-primary btn-save js-comment-button"
+ .form-actions.clearfix
+ = f.submit 'Save changes', class: "btn btn-primary btn-save js-comment-button"
- .note-form-option
- %a.choose-btn.btn.js-choose-note-attachment-button
- %i.icon-paper-clip
- %span Choose File ...
-  
- %span.file_name.js-attachment-filename File name...
- = f.file_field :attachment, class: "js-note-attachment-input hidden"
+ .note-form-option
+ %a.choose-btn.btn.js-choose-note-attachment-button
+ %i.icon-paper-clip
+ %span Choose File ...
+  
+ %span.file_name.js-attachment-filename File name...
+ = f.file_field :attachment, class: "js-note-attachment-input hidden"
- = link_to 'Cancel', "#", class: "btn btn-cancel note-edit-cancel"
+ = link_to 'Cancel', "#", class: "btn btn-cancel note-edit-cancel"
- - if note.attachment.url
- .note-attachment
- - if note.attachment.image?
- = link_to note.attachment.secure_url, target: '_blank' do
- = image_tag note.attachment.secure_url, class: 'note-image-attach'
- .attachment.pull-right
- = link_to note.attachment.secure_url, target: "_blank" do
- %i.icon-paper-clip
- = note.attachment_identifier
- = link_to delete_attachment_project_note_path(@project, note),
- title: "Delete this attachment", method: :delete, remote: true, data: { confirm: 'Are you sure you want to remove the attachment?' }, class: "danger js-note-attachment-delete" do
- %i.icon-trash.cred
- .clear
+ - if note.attachment.url
+ .note-attachment
+ - if note.attachment.image?
+ = link_to note.attachment.secure_url, target: '_blank' do
+ = image_tag note.attachment.secure_url, class: 'note-image-attach'
+ .attachment.pull-right
+ = link_to note.attachment.secure_url, target: "_blank" do
+ %i.icon-paper-clip
+ = note.attachment_identifier
+ = link_to delete_attachment_project_note_path(@project, note),
+ title: "Delete this attachment", method: :delete, remote: true, data: { confirm: 'Are you sure you want to remove the attachment?' }, class: "danger js-note-attachment-delete" do
+ %i.icon-trash.cred
+ .clear
diff --git a/app/views/projects/notes/_notes_with_form.html.haml b/app/views/projects/notes/_notes_with_form.html.haml
index 052661962e4..04ee17a40a0 100644
--- a/app/views/projects/notes/_notes_with_form.html.haml
+++ b/app/views/projects/notes/_notes_with_form.html.haml
@@ -1,4 +1,4 @@
-%ul#notes-list.notes.main-notes-list
+%ul#notes-list.notes.main-notes-list.timeline
= render "projects/notes/notes"
.js-notes-busy
diff --git a/app/views/projects/notes/discussions/_active.html.haml b/app/views/projects/notes/discussions/_active.html.haml
index ef296b35dd5..eb416c5b5f0 100644
--- a/app/views/projects/notes/discussions/_active.html.haml
+++ b/app/views/projects/notes/discussions/_active.html.haml
@@ -5,7 +5,6 @@
= link_to "#", class: "js-toggle-button" do
%i.icon-chevron-up
Show/hide discussion
- = image_tag avatar_icon(note.author_email), class: "avatar s32"
%div
= link_to_member(@project, note.author, avatar: false)
started a discussion
diff --git a/app/views/projects/notes/discussions/_commit.html.haml b/app/views/projects/notes/discussions/_commit.html.haml
index 78460974a9b..a928029a5e5 100644
--- a/app/views/projects/notes/discussions/_commit.html.haml
+++ b/app/views/projects/notes/discussions/_commit.html.haml
@@ -5,7 +5,6 @@
= link_to "#", class: "js-toggle-button" do
%i.icon-chevron-up
Show/hide discussion
- = image_tag avatar_icon(note.author_email), class: "avatar s32"
%div
= link_to_member(@project, note.author, avatar: false)
started a discussion on commit
diff --git a/app/views/projects/notes/discussions/_outdated.html.haml b/app/views/projects/notes/discussions/_outdated.html.haml
index 67c29be8ac1..4ae914c107b 100644
--- a/app/views/projects/notes/discussions/_outdated.html.haml
+++ b/app/views/projects/notes/discussions/_outdated.html.haml
@@ -5,7 +5,6 @@
= link_to "#", class: "js-toggle-button" do
%i.icon-chevron-down
Show/hide discussion
- = image_tag avatar_icon(note.author_email), class: "avatar s32"
%div
= link_to_member(@project, note.author, avatar: false)
started a discussion on the
diff --git a/doc/install/installation.md b/doc/install/installation.md
index 77ce78025d7..91bc7b02878 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -49,7 +49,7 @@ up-to-date and install it.
Install the required packages (needed to compile Ruby and native extensions to Ruby gems):
- sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils cmake
+ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake
Make sure you have the right version of Git installed
diff --git a/doc/release/monthly.md b/doc/release/monthly.md
index 260b049fd74..2e19fc50890 100644
--- a/doc/release/monthly.md
+++ b/doc/release/monthly.md
@@ -229,12 +229,7 @@ git checkout -b x-x-stable
git push <remote> x-x-stable
```
-### **3. Build the Omnibus packages**
-
-Follow the [release doc in the Omnibus repository](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/release.md).
-This can happen before tagging because Omnibus uses tags in its own repo and SHA1's to refer to the GitLab codebase.
-
-### **4. Create annotated tag vx.x.x**
+### **3. Create annotated tag vx.x.x**
In `x-x-stable` branch check for the SHA-1 of the commit with VERSION file changed. Tag that commit,
@@ -244,12 +239,17 @@ git tag -a vx.x.0 -m 'Version x.x.0' xxxxx
where `xxxxx` is SHA-1.
-### **5. Push the tag**
+### **4. Push the tag**
```
git push origin vx.x.0
```
+### **5. Build the Omnibus packages**
+
+Follow the [release doc in the Omnibus repository](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/release.md).
+This can happen before tagging because Omnibus uses tags in its own repo and SHA1's to refer to the GitLab codebase.
+
### **6. Push to remotes**
For GitLab CE, push to dev, GitLab.com and GitHub.
@@ -258,8 +258,6 @@ For GitLab EE, push to the subscribers repo.
Make sure the branch is marked 'protected' on each of the remotes you pushed to.
-NOTE: You might not have the rights to push to master on dev. Ask Dmitriy.
-
### **7. Publish blog for new release**
Merge the [blog merge request](#1-prepare-the-blog-post) in `www-gitlab-com` repository.
@@ -280,6 +278,10 @@ Include a link to the blog post and keep it short.
Proposed email text:
"We have released a new version of GitLab. See our blog post(<link>) for more information."
+### **10. Update installation.md**
+
+Update [installation.md](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md) to the newest version in master and cherry-pick that commit into the stable branch.
+
# **23rd - Optional Patch Release**
# **24th - Update GitLab.com**
diff --git a/doc/update/6.0-to-7.2.md b/doc/update/6.0-to-7.2.md
index bb756460233..51e260b9e62 100644
--- a/doc/update/6.0-to-7.2.md
+++ b/doc/update/6.0-to-7.2.md
@@ -85,8 +85,8 @@ sudo -u git -H git checkout 7-2-stable-ee
# Add support for lograte for better log file handling
sudo apt-get install logrotate
-# Install cmake, which is needed for the latest versions of rugged
-sudo apt-get install cmake
+# Install pkg-config and cmake, which is needed for the latest versions of rugged
+sudo apt-get install pkg-config cmake
```
## 5. Update gitlab-shell
diff --git a/doc/update/7.1-to-7.2.md b/doc/update/7.1-to-7.2.md
index 408ed42cdbb..04b9ce76a14 100644
--- a/doc/update/7.1-to-7.2.md
+++ b/doc/update/7.1-to-7.2.md
@@ -51,11 +51,11 @@ sudo -u git -H git checkout v1.9.7
### 4. Install new system dependencies
-The latest version of the 'rugged' gem requires cmake to build its native
-extensions.
+The latest version of the 'rugged' gem requires `pkg-config` and `cmake` to
+build its native extensions.
```bash
-sudo apt-get install cmake
+sudo apt-get install pkg-config cmake
```
### 5. Install libs, migrations, etc.
diff --git a/doc/update/upgrader.md b/doc/update/upgrader.md
index 966430c2c01..e8379fcc318 100644
--- a/doc/update/upgrader.md
+++ b/doc/update/upgrader.md
@@ -21,7 +21,7 @@ If you have local changes to your GitLab repository the script will stash them a
## 2. Run GitLab upgrade tool
-Note: GitLab 7.2 adds cmake as dependency. Please check the dependencies in the [installation guide.](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#1-packages-dependencies)
+Note: GitLab 7.2 adds `pkg-config` and `cmake` as dependency. Please check the dependencies in the [installation guide.](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#1-packages-dependencies)
# Starting with GitLab version 7.0 upgrader script has been moved to bin directory
cd /home/git/gitlab