From 47b5b3d5fad0bf9a0193e8d01e6c4d9656583a45 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Fri, 22 Aug 2014 21:46:12 +0200 Subject: Tar before omnibus build, we all have master access on dev, don't forget to update installation.md --- doc/release/monthly.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/doc/release/monthly.md b/doc/release/monthly.md index 09bdde81dcc..e40fbbef70c 100644 --- a/doc/release/monthly.md +++ b/doc/release/monthly.md @@ -221,12 +221,7 @@ git checkout -b x-x-stable git push x-x-stable ``` -### **2. 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. - -### **3. Set VERSION to x.x.x and push** +### **2. Set VERSION to x.x.x and push** Change the GITLAB_SHELL_VERSION file in `master` of the CE repository if the version changed. @@ -236,7 +231,7 @@ Change the VERSION file in `master` branch of the CE repository and commit. Cher Change the VERSION file in `master` branch of the EE repository and commit. Cherry-pick into the `x-x-stable-ee` branch of EE. -### **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, @@ -246,12 +241,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. @@ -260,8 +260,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. @@ -282,6 +280,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() 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. + # **23rd - Optional Patch Release** # **24th - Update GitLab.com** -- cgit v1.2.1 From 18ec2f93a6c8a1cb783af1522f198668481d2384 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij Date: Fri, 22 Aug 2014 21:49:39 +0200 Subject: Don't forget to cherry pick into stable. --- doc/release/monthly.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release/monthly.md b/doc/release/monthly.md index e40fbbef70c..dfde53fe3a0 100644 --- a/doc/release/monthly.md +++ b/doc/release/monthly.md @@ -282,7 +282,7 @@ Proposed email text: ### **10. Update installation.md** -Update [installation.md](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md) to the newest version. +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** -- cgit v1.2.1 From 1646009724406cd36975f1d25cdb8cfb3a6f7832 Mon Sep 17 00:00:00 2001 From: Robert Schilling Date: Tue, 26 Aug 2014 06:10:53 +0200 Subject: Add pkg-config as required dependency for rugged --- doc/install/installation.md | 2 +- doc/update/6.0-to-7.2.md | 4 ++-- doc/update/7.1-to-7.2.md | 6 +++--- doc/update/upgrader.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) 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/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 -- cgit v1.2.1 From 207d798dc4b82da319d962b4ce0ec2111e79ba31 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 15 Aug 2014 11:14:58 +0300 Subject: Basic UI implememntation of comments in timeline style Signed-off-by: Dmitriy Zaporozhets --- app/assets/stylesheets/generic/timeline.scss | 64 +++++++++++ app/assets/stylesheets/sections/notes.scss | 6 +- app/views/projects/notes/_note.html.haml | 117 +++++++++++---------- .../projects/notes/_notes_with_form.html.haml | 2 +- 4 files changed, 126 insertions(+), 63 deletions(-) create mode 100644 app/assets/stylesheets/generic/timeline.scss diff --git a/app/assets/stylesheets/generic/timeline.scss b/app/assets/stylesheets/generic/timeline.scss new file mode 100644 index 00000000000..7e56c7a8ad2 --- /dev/null +++ b/app/assets/stylesheets/generic/timeline.scss @@ -0,0 +1,64 @@ +.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: 25px; + } + + .timeline-entry { + position: relative; + margin-top: 5px; + margin-left: 30px; + margin-bottom: 10px; + clear: both; + + + .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(4px); + @include box-shadow(0 0 0 3px #EEE); + } + + .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..d544b97c3bb 100644 --- a/app/assets/stylesheets/sections/notes.scss +++ b/app/assets/stylesheets/sections/notes.scss @@ -55,22 +55,18 @@ ul.notes { } .note { - padding: 8px 0; - overflow: hidden; display: block; position:relative; - border-bottom: 1px solid #eee; p { color: $style_color; } .avatar { - margin-top: 3px; + margin: 0; } .attachment { font-size: 14px; } .note-body { @include md-typography; - margin-left: 43px; } .note-header { padding-bottom: 3px; diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml index 5e84aed0cc4..223abe5da78 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 s32" + .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 -- cgit v1.2.1 From a7dcf690fb2fd670ecbbd20f7105d394f0b175a2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 15 Aug 2014 16:29:25 +0300 Subject: Fix discussion style for timeline Signed-off-by: Dmitriy Zaporozhets --- app/assets/stylesheets/generic/timeline.scss | 11 +++++++++++ app/assets/stylesheets/sections/notes.scss | 22 +++++----------------- .../notes/_diff_notes_with_reply.html.haml | 2 +- app/views/projects/notes/_discussion.html.haml | 19 ++++++++++++------- .../projects/notes/discussions/_active.html.haml | 1 - .../projects/notes/discussions/_commit.html.haml | 1 - .../projects/notes/discussions/_outdated.html.haml | 1 - 7 files changed, 29 insertions(+), 28 deletions(-) diff --git a/app/assets/stylesheets/generic/timeline.scss b/app/assets/stylesheets/generic/timeline.scss index 7e56c7a8ad2..ed28d168a77 100644 --- a/app/assets/stylesheets/generic/timeline.scss +++ b/app/assets/stylesheets/generic/timeline.scss @@ -21,6 +21,13 @@ clear: both; + &:target { + .timeline-entry-inner .timeline-content { + -webkit-animation:target-note 2s linear; + background: $hover; + } + } + .timeline-entry-inner { position: relative; margin-left: -20px; @@ -37,6 +44,10 @@ float: left; @include border-radius(4px); @include box-shadow(0 0 0 3px #EEE); + + .avatar { + margin: 0; + } } .timeline-content { diff --git a/app/assets/stylesheets/sections/notes.scss b/app/assets/stylesheets/sections/notes.scss index d544b97c3bb..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,25 +42,15 @@ ul.notes { } .discussion { - padding: 10px 0; overflow: hidden; display: block; position:relative; - border-bottom: 1px solid #EEE; - - .discussion-body { - margin-left: 50px; - } } .note { display: block; position:relative; p { color: $style_color; } - - .avatar { - margin: 0; - } .attachment { font-size: 14px; } @@ -76,11 +65,6 @@ ul.notes { border-bottom: none; } } - - .note:target { - -webkit-animation:target-note 2s linear; - background: #fffff0; - } } .diff-file .notes_holder { @@ -95,7 +79,7 @@ ul.notes { &.notes_line { text-align: center; padding: 10px 0; - background: #eee; + background: #FFF; } &.notes_line2 { text-align: center; @@ -358,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..c4ea97dd769 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 s32" + .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/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 -- cgit v1.2.1 From 04a87cb5c475b4ffcb5670e6fe83667a30763256 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 26 Aug 2014 10:05:08 +0300 Subject: Round avatars for notes timeline Signed-off-by: Dmitriy Zaporozhets --- app/assets/stylesheets/generic/timeline.scss | 6 ++++-- app/views/projects/notes/_discussion.html.haml | 2 +- app/views/projects/notes/_note.html.haml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/generic/timeline.scss b/app/assets/stylesheets/generic/timeline.scss index ed28d168a77..f29cf25fa4c 100644 --- a/app/assets/stylesheets/generic/timeline.scss +++ b/app/assets/stylesheets/generic/timeline.scss @@ -10,7 +10,7 @@ content: " "; width: 3px; background-color: #eeeeee; - margin-left: 25px; + margin-left: 29px; } .timeline-entry { @@ -42,11 +42,13 @@ background: #fff; color: #737881; float: left; - @include border-radius(4px); + @include border-radius(40px); @include box-shadow(0 0 0 3px #EEE); + overflow: hidden; .avatar { margin: 0; + padding: 0; } } diff --git a/app/views/projects/notes/_discussion.html.haml b/app/views/projects/notes/_discussion.html.haml index c4ea97dd769..f4c6fad2fed 100644 --- a/app/views/projects/notes/_discussion.html.haml +++ b/app/views/projects/notes/_discussion.html.haml @@ -2,7 +2,7 @@ .timeline-entry .timeline-entry-inner .timeline-icon - = image_tag avatar_icon(note.author_email), class: "avatar s32" + = image_tag avatar_icon(note.author_email), class: "avatar s40" .timeline-content - if note.for_merge_request? - if note.outdated? diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml index 223abe5da78..90fc554e987 100644 --- a/app/views/projects/notes/_note.html.haml +++ b/app/views/projects/notes/_note.html.haml @@ -1,7 +1,7 @@ %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 s32" + = image_tag avatar_icon(note.author_email), class: "avatar s40" .timeline-content .note-header .note-actions -- cgit v1.2.1