Commit 8808c5fa8d0102d1cf0641812a029434b0d6ede8

Authored by Robert Speicher
2 parents b3bbf53e a595f894

Merge branch 'master' into emoji

Showing 54 changed files with 393 additions and 458 deletions   Show diff stats
app/assets/javascripts/admin.js
... ... @@ -1,11 +0,0 @@
1   -$(document).ready(function(){
2   - $('input#user_force_random_password').on('change', function(elem) {
3   - var elems = $('#user_password, #user_password_confirmation');
4   -
5   - if ($(this).attr('checked')) {
6   - elems.val('').attr('disabled', true);
7   - } else {
8   - elems.removeAttr('disabled');
9   - }
10   - });
11   -});
app/assets/javascripts/admin.js.coffee 0 → 100644
... ... @@ -0,0 +1,8 @@
  1 +$ ->
  2 + $('input#user_force_random_password').on 'change', (elem) ->
  3 + elems = $('#user_password, #user_password_confirmation')
  4 +
  5 + if $(@).attr 'checked'
  6 + elems.val('').attr 'disabled', true
  7 + else
  8 + elems.removeAttr 'disabled'
... ...
app/assets/javascripts/application.js
... ... @@ -17,134 +17,3 @@
17 17 //= require raphael
18 18 //= require branch-graph
19 19 //= require_tree .
20   -
21   -$(document).ready(function(){
22   -
23   - $(".one_click_select").live("click", function(){
24   - $(this).select();
25   - });
26   -
27   - $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){
28   - var buttons = $('[type="submit"]', this);
29   - switch( e.type ){
30   - case 'ajax:beforeSend':
31   - case 'submit':
32   - buttons.attr('disabled', 'disabled');
33   - break;
34   - case ' ajax:complete':
35   - default:
36   - buttons.removeAttr('disabled');
37   - break;
38   - }
39   - })
40   -
41   - $(".account-box").mouseenter(showMenu);
42   - $(".account-box").mouseleave(resetMenu);
43   -
44   - $("#projects-list .project").live('click', function(e){
45   - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {
46   - location.href = $(this).attr("url");
47   - e.stopPropagation();
48   - return false;
49   - }
50   - });
51   -
52   - /**
53   - * Focus search field by pressing 's' key
54   - */
55   - $(document).keypress(function(e) {
56   - if( $(e.target).is(":input") ) return;
57   - switch(e.which) {
58   - case 115: focusSearch();
59   - e.preventDefault();
60   - }
61   - });
62   -
63   - /**
64   - * Commit show suppressed diff
65   - *
66   - */
67   - $(".supp_diff_link").bind("click", function() {
68   - showDiff(this);
69   - });
70   -
71   - /**
72   - * Note markdown preview
73   - *
74   - */
75   - $(document).on('click', '#preview-link', function(e) {
76   - $('#preview-note').text('Loading...');
77   -
78   - var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview');
79   - $(this).text(previewLinkText);
80   -
81   - var note = $('#note_note').val();
82   - if (note.trim().length === 0) { note = 'Nothing to preview'; }
83   - $.post($(this).attr('href'), {note: note}, function(data) {
84   - $('#preview-note').html(data);
85   - });
86   -
87   - $('#preview-note, #note_note').toggle();
88   - e.preventDefault();
89   - });
90   -});
91   -
92   -function focusSearch() {
93   - $("#search").focus();
94   -}
95   -
96   -function updatePage(data){
97   - $.ajax({type: "GET", url: location.href, data: data, dataType: "script"});
98   -}
99   -
100   -function showMenu() {
101   - $(this).toggleClass('hover');
102   -}
103   -
104   -function resetMenu() {
105   - $(this).removeClass("hover");
106   -}
107   -
108   -function slugify(text) {
109   - return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase();
110   -}
111   -
112   -function showDiff(link) {
113   - $(link).next('table').show();
114   - $(link).remove();
115   -}
116   -
117   -(function($){
118   - var _chosen = $.fn.chosen;
119   - $.fn.extend({
120   - chosen: function(options) {
121   - var default_options = {'search_contains' : 'true'};
122   - $.extend(default_options, options);
123   - return _chosen.apply(this, [default_options]);
124   - }})
125   -})(jQuery);
126   -
127   -
128   -function ajaxGet(url) {
129   - $.ajax({type: "GET", url: url, dataType: "script"});
130   -}
131   -
132   -/**
133   - * Disable button if text field is empty
134   - */
135   -function disableButtonIfEmtpyField(field_selector, button_selector) {
136   - field = $(field_selector);
137   - if(field.val() == "") {
138   - field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled");
139   - }
140   -
141   - field.on('keyup', function(){
142   - var field = $(this);
143   - var closest_submit = field.closest("form").find(button_selector);
144   - if(field.val() == "") {
145   - closest_submit.attr("disabled", "disabled").addClass("disabled");
146   - } else {
147   - closest_submit.removeAttr("disabled").removeClass("disabled");
148   - }
149   - })
150   -}
... ...
app/assets/javascripts/graph.js
... ... @@ -1,10 +0,0 @@
1   -function initGraphNav() {
2   - $(".graph svg").css("position", "relative");
3   - $("body").bind("keyup", function(e) {
4   - if(e.keyCode == 37) { // left
5   - $(".graph svg").animate({ left: "+=400" });
6   - } else if(e.keyCode == 39) { // right
7   - $(".graph svg").animate({ left: "-=400" });
8   - }
9   - });
10   -}
app/assets/javascripts/graph.js.coffee 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +initGraphNav = ->
  2 + $('.graph svg').css 'position', 'relative'
  3 +
  4 + $('body').bind 'keyup', (e) ->
  5 + if e.keyCode is 37 # left
  6 + $('.graph svg').animate left: '+=400'
  7 + else if e.keyCode is 39 # right
  8 + $('.graph svg').animate left: '-=400'
  9 +
  10 +window.initGraphNav = initGraphNav
... ...
app/assets/javascripts/loader.js
... ... @@ -1,11 +0,0 @@
1   -var Loader = {
2   - img_src: "/assets/ajax-loader.gif",
3   -
4   - html:
5   - function(width) {
6   - img = $("<img>");
7   - img.attr("width", width);
8   - img.attr("src", this.img_src);
9   - return img;
10   - }
11   -}
app/assets/javascripts/loader.js.coffee 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +Loader =
  2 + html: (width) ->
  3 + $('<img>').attr src: '/assets/ajax-loader.gif', width: width
  4 +
  5 +window.Loader = Loader
... ...
app/assets/javascripts/main.js 0 → 100644
... ... @@ -0,0 +1,130 @@
  1 +$(document).ready(function(){
  2 +
  3 + $(".one_click_select").live("click", function(){
  4 + $(this).select();
  5 + });
  6 +
  7 + $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){
  8 + var buttons = $('[type="submit"]', this);
  9 + switch( e.type ){
  10 + case 'ajax:beforeSend':
  11 + case 'submit':
  12 + buttons.attr('disabled', 'disabled');
  13 + break;
  14 + case ' ajax:complete':
  15 + default:
  16 + buttons.removeAttr('disabled');
  17 + break;
  18 + }
  19 + })
  20 +
  21 + $(".account-box").mouseenter(showMenu);
  22 + $(".account-box").mouseleave(resetMenu);
  23 +
  24 + $("#projects-list .project").live('click', function(e){
  25 + if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {
  26 + location.href = $(this).attr("url");
  27 + e.stopPropagation();
  28 + return false;
  29 + }
  30 + });
  31 +
  32 + /**
  33 + * Focus search field by pressing 's' key
  34 + */
  35 + $(document).keypress(function(e) {
  36 + if( $(e.target).is(":input") ) return;
  37 + switch(e.which) {
  38 + case 115: focusSearch();
  39 + e.preventDefault();
  40 + }
  41 + });
  42 +
  43 + /**
  44 + * Commit show suppressed diff
  45 + *
  46 + */
  47 + $(".supp_diff_link").bind("click", function() {
  48 + showDiff(this);
  49 + });
  50 +
  51 + /**
  52 + * Note markdown preview
  53 + *
  54 + */
  55 + $(document).on('click', '#preview-link', function(e) {
  56 + $('#preview-note').text('Loading...');
  57 +
  58 + var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview');
  59 + $(this).text(previewLinkText);
  60 +
  61 + var note = $('#note_note').val();
  62 + if (note.trim().length === 0) { note = 'Nothing to preview'; }
  63 + $.post($(this).attr('href'), {note: note}, function(data) {
  64 + $('#preview-note').html(data);
  65 + });
  66 +
  67 + $('#preview-note, #note_note').toggle();
  68 + e.preventDefault();
  69 + });
  70 +});
  71 +
  72 +function focusSearch() {
  73 + $("#search").focus();
  74 +}
  75 +
  76 +function updatePage(data){
  77 + $.ajax({type: "GET", url: location.href, data: data, dataType: "script"});
  78 +}
  79 +
  80 +function showMenu() {
  81 + $(this).toggleClass('hover');
  82 +}
  83 +
  84 +function resetMenu() {
  85 + $(this).removeClass("hover");
  86 +}
  87 +
  88 +function slugify(text) {
  89 + return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase();
  90 +}
  91 +
  92 +function showDiff(link) {
  93 + $(link).next('table').show();
  94 + $(link).remove();
  95 +}
  96 +
  97 +(function($){
  98 + var _chosen = $.fn.chosen;
  99 + $.fn.extend({
  100 + chosen: function(options) {
  101 + var default_options = {'search_contains' : 'true'};
  102 + $.extend(default_options, options);
  103 + return _chosen.apply(this, [default_options]);
  104 + }})
  105 +})(jQuery);
  106 +
  107 +
  108 +function ajaxGet(url) {
  109 + $.ajax({type: "GET", url: url, dataType: "script"});
  110 +}
  111 +
  112 +/**
  113 + * Disable button if text field is empty
  114 + */
  115 +function disableButtonIfEmtpyField(field_selector, button_selector) {
  116 + field = $(field_selector);
  117 + if(field.val() == "") {
  118 + field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled");
  119 + }
  120 +
  121 + field.on('keyup', function(){
  122 + var field = $(this);
  123 + var closest_submit = field.closest("form").find(button_selector);
  124 + if(field.val() == "") {
  125 + closest_submit.attr("disabled", "disabled").addClass("disabled");
  126 + } else {
  127 + closest_submit.removeAttr("disabled").removeClass("disabled");
  128 + }
  129 + })
  130 +}
... ...
app/assets/javascripts/projects.js.coffee
1 1 window.Projects = ->
2   - $("#project_name").live "change", ->
3   - slug = slugify($(this).val())
4   - $("#project_code").val(slug)
5   - $("#project_path").val(slug)
  2 + $('#project_name').on 'change', ->
  3 + slug = slugify $(@).val()
  4 + $('#project_code, #project_path').val slug
6 5  
7   - $(".new_project, .edit_project").live "ajax:before", ->
8   - $(".project_new_holder, .project_edit_holder").hide()
9   - $(".save-project-loader").show()
  6 + $('.new_project, .edit_project').on 'ajax:before', ->
  7 + $('.project_new_holder, .project_edit_holder').hide()
  8 + $('.save-project-loader').show()
10 9  
11   - $("form #project_default_branch").chosen()
12   - disableButtonIfEmtpyField "#project_name", ".project-submit"
  10 + $('form #project_default_branch').chosen()
  11 + disableButtonIfEmtpyField '#project_name', '.project-submit'
13 12  
14 13 # Git clone panel switcher
15 14 $ ->
16   - scope = $('.project_clone_holder')
  15 + scope = $ '.project_clone_holder'
17 16 if scope.length > 0
18 17 $('a, button', scope).click ->
19   - $('a, button', scope).removeClass('active')
20   - $(this).addClass('active')
21   - $('#project_clone', scope).val($(this).data('clone'))
  18 + $('a, button', scope).removeClass 'active'
  19 + $(@).addClass 'active'
  20 + $('#project_clone', scope).val $(@).data 'clone'
... ...
app/assets/javascripts/snippets.js
... ... @@ -1,9 +0,0 @@
1   -$(document).ready(function(){
2   - $("#snippets-table .snippet").live('click', function(e){
3   - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") {
4   - location.href = $(this).attr("url");
5   - e.stopPropagation();
6   - return false;
7   - }
8   - });
9   -});
app/assets/javascripts/snippets.js.coffee 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +$ ->
  2 + $('#snippets-table .snippet').live 'click', (e) ->
  3 + if e.target.nodeName isnt 'A' and e.target.nodeName isnt 'INPUT'
  4 + location.href = $(@).attr 'url'
  5 + e.stopPropagation()
  6 + false
... ...
app/assets/javascripts/team.js
... ... @@ -1,8 +0,0 @@
1   -function backToMembers(){
2   - $("#new_team_member").hide("slide", { direction: "right" }, 150, function(){
3   - $("#team-table").show("slide", { direction: "left" }, 150, function() {
4   - $("#new_team_member").remove();
5   - $(".add_new").show();
6   - });
7   - });
8   -}
app/assets/stylesheets/gitlab_bootstrap/files.scss
... ... @@ -3,7 +3,7 @@
3 3 *
4 4 */
5 5 .file_holder {
6   - border:1px solid #CCC;
  6 + border:1px solid #BBB;
7 7 margin-bottom:1em;
8 8 @include solid_shade;
9 9  
... ...
app/assets/stylesheets/main.scss
1 1 @import "bootstrap";
2 2 @import "bootstrap-responsive";
3 3  
4   -/** GITLAB colors **/
  4 +/** GitLab colors **/
5 5 $link_color:#3A89A3;
6 6 $blue_link: #2fa0bb;
7 7 $style_color: #474d57;
8 8 $hover: #fdf5d9;
9 9  
10   -/** GITLAB Fonts **/
  10 +/** GitLab Fonts **/
11 11 @font-face { font-family: Korolev; src: url('korolev-medium-compressed.otf'); }
12 12  
13 13 /** MIXINS **/
... ... @@ -113,9 +113,9 @@ $hover: #fdf5d9;
113 113 @import "themes/ui_modern.scss";
114 114  
115 115 /**
116   - * Gitlab bootstrap.
  116 + * GitLab bootstrap.
117 117 * Overrides some styles of twitter bootstrap.
118   - * Also give some common classes for gitlab app
  118 + * Also give some common classes for GitLab app
119 119 */
120 120 @import "gitlab_bootstrap/common.scss";
121 121 @import "gitlab_bootstrap/typography.scss";
... ...
app/assets/stylesheets/sections/header.scss
... ... @@ -22,7 +22,7 @@ header {
22 22 *
23 23 */
24 24 .app_logo {
25   - width:230px;
  25 + width:200px;
26 26 float:left;
27 27 position:relative;
28 28 top:-5px;
... ... @@ -31,7 +31,7 @@ header {
31 31  
32 32 h1 {
33 33 padding-top: 5px;
34   - width:102px;
  34 + width:90px;
35 35 background: url('logo_dark.png') no-repeat 0px -3px;
36 36 float:left;
37 37 margin-left:5px;
... ...
app/assets/stylesheets/sections/nav.scss
... ... @@ -2,7 +2,7 @@
2 2 * Main Menu of Application
3 3 *
4 4 */
5   -ul.main_menu {
  5 +ul.main_menu {
6 6 border-radius: 4px;
7 7 margin: auto;
8 8 margin:30px 0;
... ... @@ -12,7 +12,7 @@ ul.main_menu {
12 12 position:relative;
13 13 overflow:hidden;
14 14 @include shade;
15   - .count {
  15 + .count {
16 16 position: relative;
17 17 top: -1px;
18 18 display: inline-block;
... ... @@ -29,12 +29,12 @@ ul.main_menu {
29 29 border-radius: 8px;
30 30 -moz-border-radius: 8px;
31 31 }
32   - .label {
  32 + .label {
33 33 background:$hover;
34 34 text-shadow:none;
35 35 color:$style_color;
36 36 }
37   - li {
  37 + li {
38 38 list-style-type: none;
39 39 margin: 0;
40 40 display: table-cell;
... ... @@ -43,7 +43,7 @@ ul.main_menu {
43 43 border-left: 1px solid #EEE;
44 44 border-bottom:2px solid #CFCFCF;
45 45  
46   - &:first-child{
  46 + &:first-child{
47 47 -webkit-border-top-left-radius: 4px;
48 48 -webkit-border-bottom-left-radius: 4px;
49 49 -moz-border-radius-topleft: 4px;
... ... @@ -53,31 +53,31 @@ ul.main_menu {
53 53 border-left: 0;
54 54 }
55 55  
56   - &.current {
  56 + &.current {
57 57 background-color:#D5D5D5;
58   - border-bottom: 2px solid $style_color;
  58 + border-bottom: 1px solid #AAA;
59 59 border-right: 1px solid #BBB;
60 60 border-left: 1px solid #BBB;
61 61 border-radius: 0 0 1px 1px;
62   - &:first-child{
  62 + &:first-child{
63 63 border-bottom:none;
64 64 border-left:none;
65 65 }
66 66 }
67 67  
68   - &.home {
69   - a {
  68 + &.home {
  69 + a {
70 70 background: url(home_icon.PNG) no-repeat center center;
71 71 text-indent:-9999px;
72 72 min-width:20px;
73   - img {
  73 + img {
74 74 position:relative;
75 75 top:4px;
76 76 }
77 77 }
78 78 }
79 79 }
80   - a {
  80 + a {
81 81 display: block;
82 82 text-align: center;
83 83 font-weight:bold;
... ...
app/controllers/commits_controller.rb
... ... @@ -64,19 +64,14 @@ class CommitsController &lt; ApplicationController
64 64 @commit.to_patch,
65 65 type: "text/plain",
66 66 disposition: 'attachment',
67   - filename: (@commit.id.to_s + ".patch")
  67 + filename: "#{@commit.id.patch}"
68 68 )
69 69 end
70 70  
71 71 protected
72 72  
73 73 def load_refs
74   - if params[:ref].blank?
75   - @branch = params[:branch].blank? ? nil : params[:branch]
76   - @tag = params[:tag].blank? ? nil : params[:tag]
77   - @ref = @branch || @tag || @project.try(:default_branch) || 'master'
78   - else
79   - @ref = params[:ref]
80   - end
  74 + @ref ||= params[:ref].presence || params[:branch].presence || params[:tag].presence
  75 + @ref ||= @ref || @project.try(:default_branch) || 'master'
81 76 end
82 77 end
... ...
app/mailers/notify.rb
... ... @@ -111,18 +111,18 @@ class Notify &lt; ActionMailer::Base
111 111 # Examples
112 112 #
113 113 # >> subject('Lorem ipsum')
114   - # => "gitlab | Lorem ipsum"
  114 + # => "GitLab | Lorem ipsum"
115 115 #
116 116 # # Automatically inserts Project name when @project is set
117 117 # >> @project = Project.last
118 118 # => #<Project id: 1, name: "Ruby on Rails", path: "ruby_on_rails", ...>
119 119 # >> subject('Lorem ipsum')
120   - # => "gitlab | Lorem ipsum | Ruby on Rails"
  120 + # => "GitLab | Lorem ipsum | Ruby on Rails"
121 121 #
122 122 # # Accepts multiple arguments
123 123 # >> subject('Lorem ipsum', 'Dolor sit amet')
124   - # => "gitlab | Lorem ipsum | Dolor sit amet"
  124 + # => "GitLab | Lorem ipsum | Dolor sit amet"
125 125 def subject(*extra)
126   - "gitlab | " << extra.join(' | ') << (@project ? " | #{@project.name}" : "")
  126 + "GitLab | " << extra.join(' | ') << (@project ? " | #{@project.name}" : "")
127 127 end
128 128 end
... ...
app/views/errors/gitolite.html.haml
1 1 %h1 Git Error
2 2 %hr
3   -%h2 Gitlab was unable to access your Gitolite system.
  3 +%h2 GitLab was unable to access your Gitolite system.
4 4  
5 5 .git_error_tips
6 6 %h4 Tips for Administrator:
... ...
app/views/help/index.html.haml
... ... @@ -30,7 +30,7 @@
30 30 %h5= link_to "API", help_api_path
31 31  
32 32 %li
33   - %h5= link_to "Gitlab Markdown", help_markdown_path
  33 + %h5= link_to "GitLab Markdown", help_markdown_path
34 34  
35 35 %li
36 36 %h5= link_to "SSH keys", help_ssh_path
... ...
app/views/help/markdown.html.haml
1   -%h3.page_title Gitlab Flavored Markdown
  1 +%h3.page_title GitLab Flavored Markdown
2 2 .back_link
3 3 = link_to help_path do
4 4 &larr; to index
... ... @@ -7,7 +7,7 @@
7 7 .row
8 8 .span8
9 9 %p
10   - For Gitlab we developed something we call "Gitlab Flavored Markdown" (GFM).
  10 + For GitLab we developed something we call "GitLab Flavored Markdown" (GFM).
11 11 It extends the standard Markdown in a few significant ways adds some useful functionality.
12 12  
13 13 %p You can use GFM in:
... ... @@ -62,7 +62,7 @@
62 62 %p becomes
63 63 = markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```}
64 64  
65   - %h4 Special Gitlab references
  65 + %h4 Special GitLab references
66 66  
67 67 %p
68 68 GFM recognizes special references.
... ...
app/views/help/ssh.html.haml
... ... @@ -5,7 +5,7 @@
5 5 %hr
6 6  
7 7 %p.slead
8   - SSH key allows you to establish a secure connection between your computer and Gitlab
  8 + SSH key allows you to establish a secure connection between your computer and GitLab
9 9  
10 10 %p.slead
11 11 To generate a new SSH key just open your terminal and use code below.
... ... @@ -17,7 +17,7 @@
17 17 \# Generating public/private rsa key pair...
18 18  
19 19 %p.slead
20   - Next just use code below to dump your public key and add to GITLAB SSH Keys
  20 + Next just use code below to dump your public key and add to GitLab SSH Keys
21 21  
22 22 %pre.dark
23 23 cat ~/.ssh/id_rsa.pub
... ...
app/views/help/system_hooks.html.haml
... ... @@ -5,7 +5,7 @@
5 5 %hr
6 6  
7 7 %p.slead
8   - Your Gitlab instance can perform HTTP POST request on next event: create_project, delete_project, create_user, delete_user, change_team_member.
  8 + Your GitLab instance can perform HTTP POST request on next event: create_project, delete_project, create_user, delete_user, change_team_member.
9 9 %br
10 10 System Hooks can be used for logging or change information in LDAP server.
11 11 %br
... ...
app/views/help/web_hooks.html.haml
... ... @@ -5,11 +5,11 @@
5 5 %hr
6 6  
7 7 %p.slead
8   - Every Gitlab project can trigger a web server whenever the repo is pushed to.
  8 + Every GitLab project can trigger a web server whenever the repo is pushed to.
9 9 %br
10 10 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.
11 11 %br
12   - GITLAB will send POST request with commits information on every push.
  12 + GitLab will send POST request with commits information on every push.
13 13 %h5 Hooks request example:
14 14 = render "hooks/data_ex"
15 15  
... ...
app/views/help/workflow.html.haml
... ... @@ -24,7 +24,7 @@
24 24 git commit -am "My feature is ready"
25 25  
26 26 %li
27   - %p Push your branch to gitlabhq
  27 + %p Push your branch to GitLab
28 28 .bash
29 29 %pre.dark
30 30 git push origin $feature_name
... ...
app/views/hooks/_data_ex.html.erb
... ... @@ -32,7 +32,7 @@
32 32 :timestamp => "2012-01-03T23:36:29+02:00",
33 33 :url => "http://localhost/diaspora/commits/da1560886d...",
34 34 :author => {
35   - :name => "gitlab dev user",
  35 + :name => "GitLab dev user",
36 36 :email => "gitlabdev@dv6700.(none)"
37 37 }
38 38 }
... ...
app/views/issues/_form.html.haml
... ... @@ -38,7 +38,7 @@
38 38 = f.label :description, "Details"
39 39 .input
40 40 = f.text_area :description, maxlength: 2000, class: "xxlarge", rows: 14
41   - %p.hint Issues are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}.
  41 + %p.hint Issues are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
42 42  
43 43  
44 44 .actions
... ...
app/views/keys/index.html.haml
... ... @@ -4,7 +4,7 @@
4 4  
5 5 %hr
6 6 %p.slead
7   - SSH key allows you to establish a secure connection between your computer and Gitlab
  7 + SSH key allows you to establish a secure connection between your computer and GitLab
8 8  
9 9  
10 10 %table#keys-table
... ...
app/views/layouts/notify.html.haml
... ... @@ -2,7 +2,7 @@
2 2 %head
3 3 %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
4 4 %title
5   - gitlabhq
  5 + GitLab
6 6 :css
7 7 .header h1 {color: #BBBBBB !important; font: bold 32px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 40px;}
8 8 .header p {color: #c6c6c6; font: normal 12px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 18px;}
... ... @@ -21,7 +21,7 @@
21 21
22 22 %td{align: "left", style: "padding: 18px 0 10px;", width: "580"}
23 23 %h1{style: "color: #BBBBBB; font: normal 32px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 40px;"}
24   - gitlab
  24 + GITLAB
25 25 - if @project
26 26 | #{@project.name}
27 27 %table{align: "center", bgcolor: "#fff", border: "0", cellpadding: "0", cellspacing: "0", style: "font-family: Helvetica, Arial, sans-serif; background: #fff;", width: "600"}
... ...
app/views/milestones/_form.html.haml
... ... @@ -22,7 +22,7 @@
22 22 = f.label :description, "Description", class: "control-label"
23 23 .controls
24 24 = f.text_area :description, maxlength: 2000, class: "input-xlarge", rows: 10
25   - %p.hint Milestones are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}.
  25 + %p.hint Milestones are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
26 26 .span6
27 27 .control-group
28 28 = f.label :due_date, "Due Date", class: "control-label"
... ...
app/views/notes/_form.html.haml
... ... @@ -11,7 +11,7 @@
11 11 = f.text_area :note, size: 255, class: 'note-text'
12 12 #preview-note.preview_note.hide
13 13 .hint
14   - .right Comments are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}.
  14 + .right Comments are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
15 15 .clearfix
16 16  
17 17 .row.note_advanced_opts.hide
... ...
app/views/notify/new_user_email.html.haml
... ... @@ -6,7 +6,7 @@
6 6 %h2{style: "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "}
7 7 Hi #{@user['name']}!
8 8 %p{style: "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}
9   - Administrator created account for you. Now you are a member of company gitlab application.
  9 + Administrator created account for you. Now you are a member of company GitLab application.
10 10 %td{style: "font-size: 1px; line-height: 1px;", width: "21"}
11 11 %tr
12 12 %td{style: "font-size: 1px; line-height: 1px;", width: "21"}
... ...
app/views/wikis/_form.html.haml
... ... @@ -14,7 +14,7 @@
14 14 .middle_box_content
15 15 .input
16 16 %span.cgray
17   - Wiki content is parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}.
  17 + Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
18 18 To link to a (new) page you can just type
19 19 %code [Link Title](page-slug)
20 20 \.
... ...
doc/api/README.md
1   -# Gitlab API
  1 +# GitLab API
2 2  
3 3 All API requests require authentication. You need to pass a `private_token` parameter to authenticate. You can find or reset your private token in your profile.
4 4  
... ... @@ -10,7 +10,7 @@ If no, or an invalid, `private_token` is provided then an error message will be
10 10 }
11 11 ```
12 12  
13   -API requests should be prefixed with `api` and the API version. The API version is equal to the Gitlab major version number, which is defined in `lib/api.rb`.
  13 +API requests should be prefixed with `api` and the API version. The API version is equal to the GitLab major version number, which is defined in `lib/api.rb`.
14 14  
15 15 Example of a valid API request:
16 16  
... ...
doc/installation.md
... ... @@ -167,7 +167,7 @@ and ensure you have followed all of the above steps carefully.
167 167 # Login to MySQL
168 168 $ mysql -u root -p
169 169  
170   - # Create the gitlabhq production database
  170 + # Create the GitLab production database
171 171 mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
172 172  
173 173 # Create the MySQL User change $password to a real password
... ...
features/projects/issues/issues.feature
... ... @@ -4,7 +4,7 @@ Feature: Issues
4 4 And I own project "Shop"
5 5 And project "Shop" have "Release 0.4" open issue
6 6 And project "Shop" have "Release 0.3" closed issue
7   - And I visit project "Shop" issues page
  7 + And I visit project "Shop" issues page
8 8  
9 9 Scenario: I should see open issues
10 10 Given I should see "Release 0.4" in issues
... ... @@ -36,3 +36,31 @@ Feature: Issues
36 36 Given I visit issue page "Release 0.4"
37 37 And I leave a comment like "XML attached"
38 38 Then I should see comment "XML attached"
  39 +
  40 + @javascript
  41 + Scenario: I search issue
  42 + Given I fill in issue search with "Release"
  43 + Then I should see "Release 0.4" in issues
  44 + And I should not see "Release 0.3" in issues
  45 +
  46 + @javascript
  47 + Scenario: I search issue that not exist
  48 + Given I fill in issue search with "Bug"
  49 + Then I should not see "Release 0.4" in issues
  50 + And I should not see "Release 0.3" in issues
  51 +
  52 +
  53 + @javascript
  54 + Scenario: I search all issues
  55 + Given I click link "All"
  56 + And I fill in issue search with "0.3"
  57 + Then I should see "Release 0.3" in issues
  58 + And I should not see "Release 0.4" in issues
  59 +
  60 + @javascript
  61 + Scenario: I clear search
  62 + Given I click link "All"
  63 + And I fill in issue search with "Something"
  64 + And I fill in issue search with ""
  65 + Then I should see "Release 0.4" in issues
  66 + And I should see "Release 0.3" in issues
... ...
features/step_definitions/common_steps.rb 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +include LoginHelpers
  2 +
  3 +Given /^I signin as a user$/ do
  4 + login_as :user
  5 +end
  6 +
  7 +When /^I click link "(.*?)"$/ do |link|
  8 + click_link link
  9 +end
  10 +
  11 +When /^I click button "(.*?)"$/ do |button|
  12 + click_button button
  13 +end
  14 +
  15 +When /^I fill in "(.*?)" with "(.*?)"$/ do |field, value|
  16 + fill_in field, :with => value
  17 +end
  18 +
  19 +Given /^show me page$/ do
  20 + save_and_open_page
  21 +end
... ...
features/step_definitions/dashboard_steps.rb
1   -Given /^I visit dashboard page$/ do
2   - visit dashboard_path
3   -end
4   -
5 1 Then /^I should see "(.*?)" link$/ do |arg1|
6 2 page.should have_link(arg1)
7 3 end
... ... @@ -51,10 +47,10 @@ Then /^I click &quot;(.*?)&quot; link$/ do |arg1|
51 47 end
52 48  
53 49 Then /^I see prefilled new Merge Request page$/ do
54   - current_path.should == new_project_merge_request_path(@project)
55   - find("#merge_request_source_branch").value.should == "new_design"
56   - find("#merge_request_target_branch").value.should == "master"
57   - find("#merge_request_title").value.should == "New Design"
  50 + current_path.should == new_project_merge_request_path(@project)
  51 + find("#merge_request_source_branch").value.should == "new_design"
  52 + find("#merge_request_target_branch").value.should == "master"
  53 + find("#merge_request_title").value.should == "New Design"
58 54 end
59 55  
60 56 Given /^I visit dashboard search page$/ do
... ... @@ -66,10 +62,6 @@ Given /^I search for &quot;(.*?)&quot;$/ do |arg1|
66 62 click_button "Search"
67 63 end
68 64  
69   -Given /^I visit dashboard issues page$/ do
70   - visit dashboard_issues_path
71   -end
72   -
73 65 Then /^I should see issues assigned to me$/ do
74 66 issues = @user.issues
75 67 issues.each do |issue|
... ... @@ -78,10 +70,6 @@ Then /^I should see issues assigned to me$/ do
78 70 end
79 71 end
80 72  
81   -Given /^I visit dashboard merge requests page$/ do
82   - visit dashboard_merge_requests_path
83   -end
84   -
85 73 Then /^I should see my merge requests$/ do
86 74 merge_requests = @user.merge_requests
87 75 merge_requests.each do |mr|
... ...
features/step_definitions/profile/profile_steps.rb
1   -Given /^I visit profile page$/ do
2   - visit profile_path
3   -end
4   -
5 1 Then /^I should see my profile info$/ do
6 2 page.should have_content "Profile"
7 3 page.should have_content @user.name
8 4 page.should have_content @user.email
9 5 end
10 6  
11   -Given /^I visit profile password page$/ do
12   - visit profile_password_path
13   -end
14   -
15 7 Then /^I change my password$/ do
16 8 fill_in "user_password", :with => "222333"
17 9 fill_in "user_password_confirmation", :with => "222333"
... ... @@ -22,10 +14,6 @@ Then /^I should be redirected to sign in page$/ do
22 14 current_path.should == new_user_session_path
23 15 end
24 16  
25   -Given /^I visit profile token page$/ do
26   - visit profile_token_path
27   -end
28   -
29 17 Then /^I reset my token$/ do
30 18 @old_token = @user.private_token
31 19 click_button "Reset"
... ...
features/step_definitions/project/browse_code_steps.rb
1   -Given /^I visit project source page$/ do
2   - visit tree_project_ref_path(@project, @project.root_ref)
3   -end
4   -
5 1 Then /^I should see files from repository$/ do
6 2 page.should have_content("app")
7 3 page.should have_content("History")
8 4 page.should have_content("Gemfile")
9 5 end
10 6  
11   -Given /^I visit project source page for "(.*?)"$/ do |arg1|
12   - visit tree_project_ref_path(@project, arg1)
13   -end
14   -
15 7 Then /^I should see files from repository for "(.*?)"$/ do |arg1|
16 8 current_path.should == tree_project_ref_path(@project, arg1)
17 9 page.should have_content("app")
... ... @@ -31,10 +23,6 @@ Given /^I click on raw button$/ do
31 23 click_link "raw"
32 24 end
33 25  
34   -Given /^I visit blob file from repo$/ do
35   - visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH)
36   -end
37   -
38 26 Then /^I should see raw file content$/ do
39 27 page.source.should == ValidCommit::BLOB_FILE
40 28 end
... ...
features/step_definitions/project/project_commits_steps.rb
1   -Given /^I visit project commits page$/ do
2   - visit project_commits_path(@project)
3   -end
4   -
5 1 Then /^I see project commits$/ do
6 2 current_path.should == project_commits_path(@project)
7 3  
... ... @@ -23,19 +19,11 @@ Then /^I see commits atom feed$/ do
23 19 page.body.should have_selector("entry summary", :text => commit.description)
24 20 end
25 21  
26   -Given /^I click on commit link$/ do
27   - visit project_commit_path(@project, ValidCommit::ID)
28   -end
29   -
30 22 Then /^I see commit info$/ do
31 23 page.should have_content ValidCommit::MESSAGE
32 24 page.should have_content "Showing 1 changed file"
33 25 end
34 26  
35   -Given /^I visit compare refs page$/ do
36   - visit compare_project_commits_path(@project)
37   -end
38   -
39 27 Given /^I fill compare fields with refs$/ do
40 28 fill_in "from", :with => "master"
41 29 fill_in "to", :with => "stable"
... ... @@ -48,18 +36,6 @@ Given /^I see compared refs$/ do
48 36 page.should have_content "Showing 73 changed files"
49 37 end
50 38  
51   -Given /^I visit project branches page$/ do
52   - visit branches_project_repository_path(@project)
53   -end
54   -
55   -Given /^I visit project commit page$/ do
56   - visit project_commit_path(@project, ValidCommit::ID)
57   -end
58   -
59   -Given /^I visit project tags page$/ do
60   - visit tags_project_repository_path(@project)
61   -end
62   -
63 39 Then /^I should see "(.*?)" recent branches list$/ do |arg1|
64 40 page.should have_content("Branches")
65 41 page.should have_content("master")
... ... @@ -76,7 +52,7 @@ Then /^I should see &quot;(.*?)&quot; all tags list$/ do |arg1|
76 52 end
77 53  
78 54 Then /^I should see "(.*?)" protected branches list$/ do |arg1|
79   - within "table" do
  55 + within "table" do
80 56 page.should have_content "stable"
81 57 page.should_not have_content "master"
82 58 end
... ...
features/step_definitions/project/project_issues_steps.rb
... ... @@ -8,16 +8,12 @@ Given /^project &quot;(.*?)&quot; have &quot;(.*?)&quot; closed issue$/ do |arg1, arg2|
8 8 Factory.create(:issue, :title => arg2, :project => project, :author => project.users.first, :closed => true)
9 9 end
10 10  
11   -Given /^I visit project "(.*?)" issues page$/ do |arg1|
12   - visit project_issues_path(Project.find_by_name(arg1))
13   -end
14   -
15 11 Given /^I should see "(.*?)" in issues$/ do |arg1|
16   - page.should have_content arg1
  12 + page.should have_content arg1
17 13 end
18 14  
19 15 Given /^I should not see "(.*?)" in issues$/ do |arg1|
20   - page.should_not have_content arg1
  16 + page.should_not have_content arg1
21 17 end
22 18  
23 19 Then /^I should see issue "(.*?)"$/ do |arg1|
... ... @@ -27,11 +23,6 @@ Then /^I should see issue &quot;(.*?)&quot;$/ do |arg1|
27 23 page.should have_content issue.project.name
28 24 end
29 25  
30   -Given /^I visit issue page "(.*?)"$/ do |arg1|
31   - issue = Issue.find_by_title(arg1)
32   - visit project_issue_path(issue.project, issue)
33   -end
34   -
35 26 Given /^I submit new issue "(.*?)"$/ do |arg1|
36 27 fill_in "issue_title", with: arg1
37 28 click_button "Submit new issue"
... ... @@ -51,7 +42,16 @@ Given /^I visit project &quot;(.*?)&quot; labels page$/ do |arg1|
51 42 end
52 43  
53 44 Then /^I should see label "(.*?)"$/ do |arg1|
54   - within ".labels-table" do
  45 + within ".labels-table" do
55 46 page.should have_content arg1
56 47 end
57 48 end
  49 +
  50 +Given /^I fill in issue search with "(.*?)"$/ do |arg1|
  51 + # Because fill_in, with: "" triggers nothing
  52 + # we need to trigger a keyup event
  53 + if arg1 == ''
  54 + page.execute_script("$('.issue_search').val('').keyup();");
  55 + end
  56 + fill_in 'issue_search', with: arg1
  57 +end
... ...
features/step_definitions/project/project_merge_requests_steps.rb
... ... @@ -8,21 +8,17 @@ Given /^project &quot;(.*?)&quot; have &quot;(.*?)&quot; closed merge request$/ do |arg1, arg2|
8 8 Factory.create(:merge_request, :title => arg2, :project => project, :author => project.users.first, :closed => true)
9 9 end
10 10  
11   -Given /^I visit project "(.*?)" merge requests page$/ do |arg1|
12   - visit project_merge_requests_path(Project.find_by_name(arg1))
13   -end
14   -
15 11 Then /^I should see "(.*?)" in merge requests$/ do |arg1|
16   - page.should have_content arg1
  12 + page.should have_content arg1
17 13 end
18 14  
19 15 Then /^I should not see "(.*?)" in merge requests$/ do |arg1|
20   - page.should_not have_content arg1
  16 + page.should_not have_content arg1
21 17 end
22 18  
23 19 Then /^I should see merge request "(.*?)"$/ do |arg1|
24 20 merge_request = MergeRequest.find_by_title(arg1)
25   - page.should have_content(merge_request.title[0..10])
  21 + page.should have_content(merge_request.title[0..10])
26 22 page.should have_content(merge_request.target_branch)
27 23 page.should have_content(merge_request.source_branch)
28 24 end
... ... @@ -34,11 +30,6 @@ Given /^I submit new merge request &quot;(.*?)&quot;$/ do |arg1|
34 30 click_button "Save"
35 31 end
36 32  
37   -Given /^I visit merge request page "(.*?)"$/ do |arg1|
38   - mr = MergeRequest.find_by_title(arg1)
39   - visit project_merge_request_path(mr.project, mr)
40   -end
41   -
42 33 Then /^I should see closed merge request "(.*?)"$/ do |arg1|
43 34 mr = MergeRequest.find_by_title(arg1)
44 35 mr.closed.should be_true
... ...
features/step_definitions/project/project_milestones_steps.rb
... ... @@ -12,11 +12,6 @@ Given /^project &quot;(.*?)&quot; has milestone &quot;(.*?)&quot;$/ do |arg1, arg2|
12 12 end
13 13 end
14 14  
15   -Given /^I visit project "(.*?)" milestones page$/ do |arg1|
16   - @project = Project.find_by_name(arg1)
17   - visit project_milestones_path(@project)
18   -end
19   -
20 15 Then /^I should see active milestones$/ do
21 16 milestone = @project.milestones.first
22 17 page.should have_content(milestone.title[0..10])
... ...
features/step_definitions/project/project_team_steps.rb
... ... @@ -8,10 +8,6 @@ Given /^&quot;(.*?)&quot; is &quot;(.*?)&quot; developer$/ do |arg1, arg2|
8 8 project.add_access(user, :write)
9 9 end
10 10  
11   -Given /^I visit project "(.*?)" team page$/ do |arg1|
12   - visit team_project_path(Project.find_by_name(arg1))
13   -end
14   -
15 11 Then /^I should be able to see myself in team$/ do
16 12 page.should have_content(@user.name)
17 13 page.should have_content(@user.email)
... ... @@ -23,13 +19,9 @@ Then /^I should see &quot;(.*?)&quot; in team list$/ do |arg1|
23 19 page.should have_content(user.email)
24 20 end
25 21  
26   -Given /^I click link "(.*?)"$/ do |arg1|
27   - click_link arg1
28   -end
29   -
30 22 Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2|
31 23 user = User.find_by_name(arg1)
32   - within "#new_team_member" do
  24 + within "#new_team_member" do
33 25 select user.name, :from => "team_member_user_id"
34 26 select arg2, :from => "team_member_project_access"
35 27 end
... ... @@ -44,7 +36,7 @@ end
44 36  
45 37 Given /^I change "(.*?)" role to "(.*?)"$/ do |arg1, arg2|
46 38 user = User.find_by_name(arg1)
47   - within ".user_#{user.id}" do
  39 + within ".user_#{user.id}" do
48 40 select arg2, :from => "team_member_project_access"
49 41 end
50 42 end
... ...
features/step_definitions/project/project_wiki_steps.rb
1   -Given /^I visit project wiki page$/ do
2   - visit project_wiki_path(@project, :index)
3   -end
4   -
5 1 Given /^I create Wiki page$/ do
6 2 fill_in "Title", :with => 'Test title'
7 3 fill_in "Content", :with => '[link test](test)'
... ...
features/step_definitions/project/projects_steps.rb
1   -include LoginHelpers
2   -
3   -Given /^I signin as a user$/ do
4   - login_as :user
5   -end
6   -
7 1 When /^I visit new project page$/ do
8 2 visit new_project_path
9 3 end
... ... @@ -65,10 +59,6 @@ Given /^I visit project &quot;(.*?)&quot; network page$/ do |arg1|
65 59 visit graph_project_path(project)
66 60 end
67 61  
68   -Given /^show me page$/ do
69   - save_and_open_page
70   -end
71   -
72 62 Given /^page should have network graph$/ do
73 63 page.should have_content "Project Network Graph"
74 64 within ".graph" do
... ...
features/step_definitions/visit_steps.rb 0 → 100644
... ... @@ -0,0 +1,91 @@
  1 +Given /^I visit project "(.*?)" issues page$/ do |arg1|
  2 + visit project_issues_path(Project.find_by_name(arg1))
  3 +end
  4 +
  5 +Given /^I visit issue page "(.*?)"$/ do |arg1|
  6 + issue = Issue.find_by_title(arg1)
  7 + visit project_issue_path(issue.project, issue)
  8 +end
  9 +
  10 +Given /^I visit project "(.*?)" merge requests page$/ do |arg1|
  11 + visit project_merge_requests_path(Project.find_by_name(arg1))
  12 +end
  13 +
  14 +Given /^I visit merge request page "(.*?)"$/ do |arg1|
  15 + mr = MergeRequest.find_by_title(arg1)
  16 + visit project_merge_request_path(mr.project, mr)
  17 +end
  18 +
  19 +Given /^I visit project "(.*?)" milestones page$/ do |arg1|
  20 + @project = Project.find_by_name(arg1)
  21 + visit project_milestones_path(@project)
  22 +end
  23 +
  24 +Given /^I visit project commits page$/ do
  25 + visit project_commits_path(@project)
  26 +end
  27 +
  28 +Given /^I visit compare refs page$/ do
  29 + visit compare_project_commits_path(@project)
  30 +end
  31 +
  32 +Given /^I visit project branches page$/ do
  33 + visit branches_project_repository_path(@project)
  34 +end
  35 +
  36 +Given /^I visit project commit page$/ do
  37 + visit project_commit_path(@project, ValidCommit::ID)
  38 +end
  39 +
  40 +Given /^I visit project tags page$/ do
  41 + visit tags_project_repository_path(@project)
  42 +end
  43 +
  44 +Given /^I click on commit link$/ do
  45 + visit project_commit_path(@project, ValidCommit::ID)
  46 +end
  47 +
  48 +Given /^I visit project source page$/ do
  49 + visit tree_project_ref_path(@project, @project.root_ref)
  50 +end
  51 +
  52 +Given /^I visit project source page for "(.*?)"$/ do |arg1|
  53 + visit tree_project_ref_path(@project, arg1)
  54 +end
  55 +
  56 +Given /^I visit blob file from repo$/ do
  57 + visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH)
  58 +end
  59 +
  60 +Given /^I visit project "(.*?)" team page$/ do |arg1|
  61 + visit team_project_path(Project.find_by_name(arg1))
  62 +end
  63 +
  64 +Given /^I visit project wiki page$/ do
  65 + visit project_wiki_path(@project, :index)
  66 +end
  67 +
  68 +Given /^I visit profile page$/ do
  69 + visit profile_path
  70 +end
  71 +
  72 +Given /^I visit profile token page$/ do
  73 + visit profile_token_path
  74 +end
  75 +
  76 +Given /^I visit profile password page$/ do
  77 + visit profile_password_path
  78 +end
  79 +
  80 +Given /^I visit dashboard page$/ do
  81 + visit dashboard_path
  82 +end
  83 +
  84 +Given /^I visit dashboard issues page$/ do
  85 + visit dashboard_issues_path
  86 +end
  87 +
  88 +Given /^I visit dashboard merge requests page$/ do
  89 + visit dashboard_merge_requests_path
  90 +end
  91 +
... ...
lib/gitlab/backend/gitolite.rb
... ... @@ -170,7 +170,7 @@ module Gitlab
170 170 def push
171 171 Dir.chdir(File.join(@local_dir, "gitolite"))
172 172 `git add -A`
173   - `git commit -am "Gitlab"`
  173 + `git commit -am "GitLab"`
174 174 `git push`
175 175 Dir.chdir(Rails.root)
176 176  
... ...
lib/gitlab/markdown.rb
1 1 module Gitlab
2   - # Custom parser for Gitlab-flavored Markdown
  2 + # Custom parser for GitLab-flavored Markdown
3 3 #
4 4 # It replaces references in the text with links to the appropriate items in
5   - # Gitlab.
  5 + # GitLab.
6 6 #
7 7 # Supported reference formats are:
8 8 # * @foo for team members
... ...
lib/hooks/post-receive
1 1 #!/usr/bin/env bash
2 2  
3   -# This file was placed here by Gitlab. It makes sure that your pushed commits
  3 +# This file was placed here by GitLab. It makes sure that your pushed commits
4 4 # will be processed properly.
5 5  
6 6 while read oldrev newrev ref
... ...
lib/tasks/gitlab/write_hook.rake
1 1 namespace :gitlab do
2 2 namespace :gitolite do
3   - desc "GITLAB | Write GITLAB hook for gitolite"
  3 + desc "GITLAB | Write GitLab hook for gitolite"
4 4 task :write_hooks => :environment do
5 5 gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common")
6 6 gitlab_hooks_path = Rails.root.join("lib", "hooks")
... ...
spec/factories_spec.rb
1 1 require 'spec_helper'
2 2  
3   -describe "Factories" do
4   - describe 'User' do
5   - it "builds a valid instance" do
6   - build(:user).should be_valid
7   - end
8   -
9   - it "builds a valid admin instance" do
10   - build(:admin).should be_valid
11   - end
12   - end
13   -
14   - describe 'Project' do
15   - it "builds a valid instance" do
16   - build(:project).should be_valid
17   - end
18   - end
19   -
20   - describe 'Issue' do
21   - it "builds a valid instance" do
22   - build(:issue).should be_valid
23   - end
24   -
25   - it "builds a valid closed instance" do
26   - build(:closed_issue).should be_valid
27   - end
28   - end
29   -
30   - describe 'MergeRequest' do
31   - it "builds a valid instance" do
32   - build(:merge_request).should be_valid
33   - end
34   - end
35   -
36   - describe 'Note' do
37   - it "builds a valid instance" do
38   - build(:note).should be_valid
39   - end
40   - end
41   -
42   - describe 'Event' do
43   - it "builds a valid instance" do
44   - build(:event).should be_valid
45   - end
46   - end
47   -
48   - describe 'Key' do
49   - it "builds a valid instance" do
50   - build(:key).should be_valid
51   - end
52   -
53   - it "builds a valid deploy key instance" do
54   - build(:deploy_key).should be_valid
55   - end
56   -
57   - it "builds a valid personal key instance" do
58   - build(:personal_key).should be_valid
59   - end
60   - end
61   -
62   - describe 'Milestone' do
63   - it "builds a valid instance" do
64   - build(:milestone).should be_valid
65   - end
66   - end
67   -
68   - describe 'SystemHook' do
69   - it "builds a valid instance" do
70   - build(:system_hook).should be_valid
71   - end
72   - end
73   -
74   - describe 'ProjectHook' do
75   - it "builds a valid instance" do
76   - build(:project_hook).should be_valid
77   - end
78   - end
79   -
80   - describe 'Wiki' do
81   - it "builds a valid instance" do
82   - build(:wiki).should be_valid
83   - end
84   - end
85   -
86   - describe 'Snippet' do
87   - it "builds a valid instance" do
88   - build(:snippet).should be_valid
  3 +FactoryGirl.factories.map(&:name).each do |factory_name|
  4 + describe "#{factory_name} factory" do
  5 + it 'should be valid' do
  6 + build(factory_name).should be_valid
89 7 end
90 8 end
91 9 end
... ...
spec/mailers/notify_spec.rb
... ... @@ -24,7 +24,7 @@ describe Notify do
24 24 end
25 25  
26 26 it 'has the correct subject' do
27   - should have_subject /^gitlab \| Account was created for you$/
  27 + should have_subject /^gitlab \| Account was created for you$/i
28 28 end
29 29  
30 30 it 'contains the new user\'s login name' do
... ...