gitprep / templates / pull.html.ep /
Newer Older
482 lines | 16.459kb
improve pull page design
Yuki Kimoto authored on 2016-04-21
1
<%
2
  # API
3
  my $api = gitprep_api;
4

            
5
  # Parameters
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
6
  my $base_user_id = param('user');
7
  my $base_project_id = param('project');
improve pull page design
Yuki Kimoto authored on 2016-04-21
8
  my $row_id = param('row_id');
fix pull page
Yuki Kimoto authored on 2016-06-11
9
  
10
  # Issue
11
  my $issue = app->dbi->model('issue')->select(
implement pull request
Yuki Kimoto authored on 2016-04-23
12
    [
13
      {__MY__ => '*'},
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
14
      {open_user => ['id']}
implement pull request
Yuki Kimoto authored on 2016-04-23
15
    ],
fix pull page
Yuki Kimoto authored on 2016-06-11
16
    where => {'issue.row_id' => $row_id}
17
  )->one;
18
  
19
  # Pull requests
20
  my $pull_request = app->dbi->model('pull_request')->select(
21
    where => {row_id => $issue->{pull_request}}
implement pull request
Yuki Kimoto authored on 2016-04-23
22
  )->one;
23
  
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
24
  # Base information
25
  my $base_project_row_id = $pull_request->{base_project};
26
  my $base_project = app->dbi->model('project')->select(
27
    [
28
      {__MY__ => '*'},
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
29
      {user => ['id']}
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
30
    ],
31
    where => {'project.row_id' => $base_project_row_id}
32
  )->one;
33
  my $base_branch = $pull_request->{base_branch};
34
  
35
  Carp::croak "pull_request invalid user id"
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
36
    if $base_user_id ne $base_project->{'user.id'};
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
37
  Carp::croak "pull_request invalid project id"
38
    if $base_project_id ne $base_project->{id};
39
  
40
  # Target information
41
  my $target_project_row_id = $pull_request->{target_project};
42
  my $target_project = app->dbi->model('project')->select(
43
    [
44
      {__MY__ => '*'},
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
45
      {user => ['id']}
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
46
    ],
47
    where => {'project.row_id' => $target_project_row_id}
48
  )->one;
49
  my $target_branch = $pull_request->{target_branch};
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
50
  my $target_user_id = $target_project->{'user.id'};
add http command
Yuki Kimoto authored on 2016-06-02
51
  my $target_project_id = $target_project->{id};
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
52
  
53
  # Session
complete pull request logic
Yuki Kimoto authored on 2016-04-28
54
  my $session_user_row_id = $api->session_user_row_id;
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
55
  my $session_user_id = $api->session_user_id;
56
  
57
  # Base repository information
58
  my $base_rep_info = app->rep_info($base_user_id, $base_project_id);
59
  
60
  # Target repository information
61
  my $target_rep_info = app->rep_info($target_user_id, $base_project_id);
62
  
63
  # Working repository information
64
  my $work_rep_info = app->work_rep_info($base_user_id, $base_project_id);
add patch feature
Yuki Kimoto authored on 2016-06-04
65

            
66
  # Display patch
67
  if (stash('patch')) {
68
    # Lock working repository
69
    my $lock_fh = $self->app->manager->lock_rep($work_rep_info);
70
    
71
    # Prepare merge
72
    $self->app->manager->prepare_merge(
73
      $work_rep_info,
74
      $base_rep_info,
75
      $base_branch,
76
      $target_rep_info,
77
      $target_branch
78
    );
79
    
80
    # Create patch
81
    my $patch = $self->app->manager->get_patch(
82
      $work_rep_info,
83
      $target_rep_info,
84
      $target_branch
85
    );
86
    
87
    $self->res->headers->content_type('text/plain; charset=utf-8');
88
    $self->render(text => $patch);
89
    return;
90
  }
91

            
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
92
  # Git
93
  my $git = $self->app->git;
improve pull page design
Yuki Kimoto authored on 2016-04-21
94
  
change is_collaborator argum...
Yuki Kimoto authored on 2016-04-23
95
  if (lc $self->req->method eq 'post') {
96
    
97
    # Access controll
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
98
    unless ($api->can_write_access($session_user_id, $base_user_id, $base_project_id)) {
implement close and reopen
Yuki Kimoto authored on 2016-04-23
99
      $self->reply->exception('Forbbiden');
100
      return;
101
    }
102
    
103
    # Close pull request
104
    my $op = param('op');
change is_collaborator argum...
Yuki Kimoto authored on 2016-04-23
105
    if ($op eq 'close') {
fix pull page
Yuki Kimoto authored on 2016-06-11
106
      app->dbi->model('issue')->update(
complete pull request logic
Yuki Kimoto authored on 2016-04-28
107
        {
108
          open => 0,
109
          open_user => $session_user_row_id
110
        },
implement close and reopen
Yuki Kimoto authored on 2016-04-23
111
        where => {row_id => $row_id}
112
      );
113
      $self->redirect_to('current');
114
      return;
115
    }
116
    elsif ($op eq 'reopen') {
117
      my $open_time = time;
fix pull page
Yuki Kimoto authored on 2016-06-11
118
      app->dbi->model('issue')->update(
implement close and reopen
Yuki Kimoto authored on 2016-04-23
119
        {
120
          open => 1,
complete pull request logic
Yuki Kimoto authored on 2016-04-28
121
          open_time => $open_time,
122
          open_user => $session_user_row_id
implement close and reopen
Yuki Kimoto authored on 2016-04-23
123
        },
124
        where => {row_id => $row_id}
125
      );
126
      $self->redirect_to('current');
127
      return;
change is_collaborator argum...
Yuki Kimoto authored on 2016-04-23
128
    }
implement pull request
Yuki Kimoto authored on 2016-04-23
129
    elsif ($op eq 'merge') {
130
      
131
      # Lock working repository
132
      my $lock_fh = $self->app->manager->lock_rep($work_rep_info);
133

            
134
      # Prepare merge
135
      $self->app->manager->prepare_merge(
136
        $work_rep_info,
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
137
        $base_rep_info,
138
        $base_branch,
139
        $target_rep_info,
140
        $target_branch
implement pull request
Yuki Kimoto authored on 2016-04-23
141
      );
142
      
cleanup merge and push logic
Yuki Kimoto authored on 2016-04-27
143
      # Merge
144
      my $merge_success = $self->app->manager->merge(
implement pull request
Yuki Kimoto authored on 2016-04-23
145
        $work_rep_info,
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
146
        $target_rep_info,
147
        $target_branch
implement pull request
Yuki Kimoto authored on 2016-04-23
148
      );
149
      
fix merge pull request bug
Yuki Kimoto authored on 2016-04-27
150
      
cleanup merge and push logic
Yuki Kimoto authored on 2016-04-27
151
      if ($merge_success) {
152
        # Push
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
153
        app->manager->push($work_rep_info, $base_branch);
implement pull request
Yuki Kimoto authored on 2016-04-23
154
        
fix pull page
Yuki Kimoto authored on 2016-06-11
155
        app->dbi->model('issue')->update(
complete pull request logic
Yuki Kimoto authored on 2016-04-28
156
          {
fix pull page
Yuki Kimoto authored on 2016-06-11
157
            open => 0
complete pull request logic
Yuki Kimoto authored on 2016-04-28
158
          },
implement pull request
Yuki Kimoto authored on 2016-04-23
159
          where => {row_id => $row_id}
160
        );
161
        
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
162
        $self->redirect_to("/$base_user_id/$base_project_id/tree/$base_branch");
implement pull request
Yuki Kimoto authored on 2016-04-23
163
      }
164
    }
change is_collaborator argum...
Yuki Kimoto authored on 2016-04-23
165
  }
166
  
improve pull page design
Yuki Kimoto authored on 2016-04-21
167
  # Commits
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
168
  my $commits = $git->forward_commits($base_rep_info, $base_branch, $target_branch);
improve pull page design
Yuki Kimoto authored on 2016-04-21
169
  my $commits_count = @$commits;
170
  my $commits_date = {};
171
  my $authors = {};
172
  for my $commit (@$commits) {
173
    my $date = $commit->{age_string_date_local};
174
    $commits_date->{$date} ||= [];
175
    $authors->{$commit->{author}} = 1;
176
    push @{$commits_date->{$date}}, $commit;
177
  }
178
  my $authors_count = keys %$authors;
179

            
180
  # Start commit
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
181
  my $start_commit = $git->separated_commit($base_rep_info, $base_branch, $target_branch);
improve pull page design
Yuki Kimoto authored on 2016-04-21
182

            
183
  # End commit
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
184
  my $end_commit = $git->get_commit($target_rep_info, $target_branch);
user can only merge pull req...
Yuki Kimoto authored on 2016-04-21
185
  
fix pull page
Yuki Kimoto authored on 2016-06-11
186
  # Issue first message 
fix pulls page
Yuki Kimoto authored on 2016-06-09
187
  my $issue_message_first = app->dbi->model('issue_message')->select(
add pull request message
Yuki Kimoto authored on 2016-04-23
188
    [
189
      {__MY__ => '*'},
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
190
      {user => ['id']}
add pull request message
Yuki Kimoto authored on 2016-04-23
191
    ],
fix pull page
Yuki Kimoto authored on 2016-06-11
192
    where => {issue => $row_id, number => 1}
add pull request message
Yuki Kimoto authored on 2016-04-23
193
  )->one;
cleanup
Yuki Kimoto authored on 2016-04-23
194
  
cleanup prepare merge
Yuki Kimoto authored on 2016-04-23
195
  # Check merge automatically
cleanup merge and push logic
Yuki Kimoto authored on 2016-04-27
196
  my $merge_success;
fix pull page
Yuki Kimoto authored on 2016-06-11
197
  if ($api->can_write_access($session_user_id, $base_user_id, $base_project_id) && $issue->{open}) {
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
198
    
implement pull request
Yuki Kimoto authored on 2016-04-23
199
    my $lock_fh = $self->app->manager->lock_rep($work_rep_info);
200
    
201
    # Prepare merge
202
    $self->app->manager->prepare_merge(
203
      $work_rep_info,
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
204
      $base_rep_info,
205
      $base_branch,
206
      $target_rep_info,
207
      $target_branch
implement pull request
Yuki Kimoto authored on 2016-04-23
208
    );
209
    
210
    # Check merge automatical
cleanup merge and push logic
Yuki Kimoto authored on 2016-04-27
211
    $merge_success = $self->app->manager->merge(
implement pull request
Yuki Kimoto authored on 2016-04-23
212
      $work_rep_info,
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
213
      $target_rep_info,
214
      $target_branch
cleanup prepare merge
Yuki Kimoto authored on 2016-04-23
215
    );
216
  }
complete command line merge
Yuki Kimoto authored on 2016-06-02
217
  
218
  # HTTP repository URL
219
  my $http_rep_url = url_for("$target_user_id/$target_project_id.git")->to_abs;
220
  
221
  # SSH repository URL
222
  my $url = url_for->to_abs;
223
  $url->base(undef);
224
  my $ssh_port = config->{basic}{ssh_port};
225
  my $rep_home = app->rep_home;
226
  my $execute_user = getpwuid($>);
227
  my $ssh_rep_url_base = defined app->config->{basic}{'ssh_rep_url_base'}
228
    ? app->config->{basic}{'ssh_rep_url_base'} : $rep_home;
229
  my $ssh_rep_url = "ssh://$execute_user\@" . $url->host
230
    . ($ssh_port ? ":$ssh_port" : '') . "$ssh_rep_url_base/$user/$project.git";
cleanup prepare merge
Yuki Kimoto authored on 2016-04-23
231

            
fix pull page
Yuki Kimoto authored on 2016-06-11
232
  my $patch_url = url_for("/$base_user_id/$base_project_id/pull/$issue->{row_id}.patch")->to_abs;
complete command line merge
Yuki Kimoto authored on 2016-06-02
233

            
234
  my $pre_content_base = "git checkout -b $target_user_id-$target_branch $base_branch";
235
  my $pre_content_http = "git pull $http_rep_url $target_branch";
236
  my $pre_content_ssh = "git pull $ssh_rep_url $target_branch";
237
  
cleanup
Yuki Kimoto authored on 2016-04-23
238
  # Commit body arguments
239
  my %commit_body_args = (
240
    id => $end_commit->{id},
241
    from_id => $start_commit->{id},
242
    rev => $end_commit->{id},
243
    from_rev => $start_commit->{id}
244
  );
improve pull page design
Yuki Kimoto authored on 2016-04-21
245
%>
246

            
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
247
% layout 'common', title => "Pull Requests Tags \x{30fb} $base_user_id/$base_project_id";
improve pull page design
Yuki Kimoto authored on 2016-04-21
248
  
249
  %= include '/include/header';
250
  
251
  <div class="container">
252
    <div style="font-size:23px;margin-top:20px;margin-bottom:9px;">
253
      <%
cleanup join table
Yuki Kimoto authored on 2016-04-28
254
        my $pull_title = $pull_request->{target_branch};
improve pull page design
Yuki Kimoto authored on 2016-04-21
255
        $pull_title =~ s/_/ /g;
256
        $pull_title = ucfirst $pull_title;
257
      %>
258
      
fix pull page
Yuki Kimoto authored on 2016-06-11
259
      <%= $pull_title %> <span style="color:#767676;">#<%= $issue->{row_id} %></span>
improve pull page design
Yuki Kimoto authored on 2016-04-21
260
    </div>
261
    <div>
262
      <div style="display:inline-block;color:white;margin-right:4px;">
fix pull page
Yuki Kimoto authored on 2016-06-11
263
        % if ($issue->{open}) {
improve pull page design
Yuki Kimoto authored on 2016-04-21
264
          <div style="background:#6cc644;padding:4px 8px;border-radius:3px;">
265
            Open
266
          </div>
267
        % } else {
implement close and reopen
Yuki Kimoto authored on 2016-04-23
268
          <div style="background:#bd2c00;padding:4px 8px;border-radius:3px;">
improve pull page design
Yuki Kimoto authored on 2016-04-21
269
            Closed
270
          </div>
271
        % }
272
      </div>
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
273
      % my $open_user_id = $issue->{'open_user.id'};
improve pull page design
Yuki Kimoto authored on 2016-04-21
274
      <a style="color:#333333;font-weight:bold" href="<%= url_for("/$open_user_id") %>"><%= $open_user_id %></a> 
275
      <span style="color:#767676">
276
        wants to merge <%= $commits_count %> commits
improve pull page design
Yuki Kimoto authored on 2016-04-23
277
        into
278
        <span style="display:inline-block;padding:2px 4px;background:#e8f0f8;color:#336479;border-radius:3px;">
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
279
          <%= $pull_request->{base_branch} %>
improve pull page design
Yuki Kimoto authored on 2016-04-23
280
        </span>
281
        from
282
        <span style="display:inline-block;padding:2px 4px;background:#e8f0f8;color:#336479;border-radius:3px;">
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
283
          % if ($base_user_id ne $target_user_id) {
284
            <%= $target_user_id %>
285
            /
286
          % }
287
          <%= $pull_request->{target_branch} %>
improve pull page design
Yuki Kimoto authored on 2016-04-23
288
        </span>
improve pull page design
Yuki Kimoto authored on 2016-04-21
289
      </span>
290
    </div>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
291
    % if (!$commits_count) {
292
      <div class="compare-nothing" style="margin-top:10px">
293
        <div>
294
          <b><big>There isn't anything to compare.</big></b>
add pull request message
Yuki Kimoto authored on 2016-04-23
295
        </div>
296
      </div>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
297
    % } else {
298
      <div>
299
        <ul class="compare-header">
300
          <li>
301
            <b><%= @$commits %></b> <span>commit</span>
302
          </li>
303
          <li>
304
            <b><%= $authors_count %></b> <span>contributor</span>
305
          </li>
306
          <li>
307
            
308
          </li>
309
          <li>
310
            
311
          </li>
312
        </ul>
313
        <div class="pull-comment">
314
          <div class="pull-comment-header">
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
315
            <b><%= $issue_message_first->{'user.id'} %></b>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
316
            <span style="color:#767676">
317
              commented
fix pulls page
Yuki Kimoto authored on 2016-06-09
318
              <%= $api->age_string($issue_message_first->{update_time}) %>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
319
            </span>
improve pull page design
Yuki Kimoto authored on 2016-04-21
320
          </div>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
321
          <div class="pull-comment-body">
fix pulls page
Yuki Kimoto authored on 2016-06-09
322
            <%= $issue_message_first->{message} %>
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
323
          </div>
324
        </div>
325
        
326
        <div class="commits">
327
          % for my $date (reverse sort keys %$commits_date) {
328
            % my $commits = $commits_date->{$date};
329
            
330
            <div class="commit-date">
331
              <i class="icon-off"></i><span>Commits on <%= $date %></span>
332
            </div>
333
            
334
            <ul class="compare-commits-date-container">
335
              % for my $commit (sort {$b->{author_epoch} <=> $a->{author_epoch}} @$commits) {
336
                <%
337
                  my $commit_author_email = $commit->{author_email};
338
                  my $commit_author_id = app->dbi->model('user')->select(
339
                    'id',
340
                    where => {email => $commit_author_email}
341
                  )->value;
342
                %>
343
                <li>
344
                  <div class="compare-commits-author">
345
                    <span title="<%= $commit->{author_email} %>">
346
                      % if (defined $commit_author_id) {
347
                        <a href="<%= url_for("/$commit_author_id") %>"><%= $commit_author_id %></a>
348
                      % } else {
349
                        <%= $commit->{author_name} %>
350
                      % }
351
                    </span>
352
                  </div>
353
                  <div class="compare-commits-commit-title">
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
354
                    <a style="color:#333" href="<%= url_for("/$base_user_id/$base_project_id/commit/$commit->{id}") %>">
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
355
                      <%= $commit->{title_short} %>
356
                    </a>
357
                  </div>
358
                  <div class="compare-commits-commit-id">
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
359
                    <a href="<%= url_for("/$base_user_id/$base_project_id/commit/$commit->{id}") %>">
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
360
                      <%= substr($commit->{id}, 0, 7) %>
361
                    </a>
362
                  </div>
363
                </li>
364
              % }
365
            </ul>
366
          % }
367
        </div>
cleanup
Yuki Kimoto authored on 2016-04-23
368

            
369
  
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
370
        %= include '/include/commit_body', %commit_body_args;
371
      % }
improve pull page design
Yuki Kimoto authored on 2016-04-21
372
      
fix pull_request table bug
Yuki Kimoto authored on 2016-04-27
373
      % if ($api->can_write_access($session_user_id, $base_user_id, $base_project_id)) {
fix pull page
Yuki Kimoto authored on 2016-06-11
374
        % if ($commits_count && $merge_success && $issue->{open}) {
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
375
          <div class="pull-request-form">
complete command line merge
Yuki Kimoto authored on 2016-06-02
376
            <div style="overflow:hidden">
377
              <div style="float:left;padding:10px;padding-right:0">
378
                <div style="width:30px;height:30px;text-align:center;border-radius:15px;background:#95c97e;color:white;padding-top:5px;"><%= "\x{2714}" %></div>
improve pull page design
Yuki Kimoto authored on 2016-04-21
379
              </div>
complete command line merge
Yuki Kimoto authored on 2016-06-02
380
              <div style="float:left">
381
                <div class="pull-request-form-title">
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
382
                  <div>
complete command line merge
Yuki Kimoto authored on 2016-06-02
383
                    <b>This branch has no conflicts with the base branch</b>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
384
                  </div>
complete command line merge
Yuki Kimoto authored on 2016-06-02
385
                  <div>
386
                    <span style="color:#767676">Merging can be performed automatically.</span>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
387
                  </div>
complete command line merge
Yuki Kimoto authored on 2016-06-02
388
                </div>
389
              </div>
390
            </div>
391
            <div class="pull-request-form-button">
392
              <form action="<%= url_for %>" method="post">
393
                <%= hidden_field op => 'merge' %>
394
                <%= submit_button 'Merge pull request', class => "btn btn-success" %>
395
                <span style="margin-left:5px">
396
                  You can also view <a href="javascript:void(0)" onclick="$('#command-line-instructions').toggle()" >command line instructions</a>.
397
                </span>
398
              </form>
399
              
400
              <div id="command-line-instructions" style="display:none">
401
                <div style="font-size:18px;padding:10px 0">
402
                  Merging via command line
403
                </div>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
404

            
complete command line merge
Yuki Kimoto authored on 2016-06-02
405
                <div>
406
                  If you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line.
407
                </div>
408
                %= javascript begin
409
                  $(document).ready(function () {
410
                    var http_rep_url = "<%= $http_rep_url %>";
411
                    
412
                    var ssh_rep_url = "<%= $ssh_rep_url %>";
413
                    var patch_url = "<%= $patch_url %>";
414
                    
415
                    var pre_content_base = "<%= $pre_content_base %>";
416
                    var pre_content_http = "<%= $pre_content_http %>";
417
                    var pre_content_ssh = "<%= $pre_content_ssh %>";
418
                    
419
                    var pre_content_http_all = pre_content_base + "\n" + pre_content_http;
420
                    var pre_content_ssh_all = pre_content_base + "\n" + pre_content_ssh;
421
                    
422
                    $('#http-btn').on('click', function () {
423
                      $('[name=clone_url]').val(http_rep_url);
424
                      $('#step1').text(pre_content_http_all);
425
                    });
426
                    $('#ssh-btn').on('click', function () {
427
                      $('[name=clone_url]').val(ssh_rep_url);
428
                      $('#step1').text(pre_content_ssh_all);
429
                    });
430
                    $('#patch-btn').on('click', function () {
431
                      $('[name=clone_url]').val(patch_url);
432
                    });
433
                  });
434
                % end
435
                
436
                <div style="margin-top:10px">
437
                  <button id="http-btn" class="btn btn-small" style="border-radius:3px 0 0 3px">HTTPS</button><button id="ssh-btn" class="btn btn-small" style="border-radius:0">SSH</button><button id="patch-btn" class="btn btn-small" style="border-radius:0">Patch</button><%= text_field clone_url => $http_rep_url, style => "width:600px;padding:4px 7px 5px 7px;border-radius:0 3px 3px 0" %>
438
                </div>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
439

            
complete command line merge
Yuki Kimoto authored on 2016-06-02
440
                <div style="margin-top:15px;margin-bottom:5px;">
441
                  <b>Step 1:</b> From your project repository, check out a new branch and test the changes.
442
                </div>
443

            
444
<pre id="step1" style="background:#f2f2f2; padding:10px; border-radius:3px">
add http command
Yuki Kimoto authored on 2016-06-02
445
git checkout -b <%= $target_user_id %>-<%= $target_branch %> <%= $base_branch %>
446
git pull <%= url_for("$target_user_id/$target_project_id.git")->to_abs %> <%= $target_branch %>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
447
</pre>
448

            
complete command line merge
Yuki Kimoto authored on 2016-06-02
449
                <div style="margin-top:15px;margin-bottom:5px;">
450
                  <b>Step 2:</b> Merge the changes and update on GitPrep.
451
                </div>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
452

            
453
<pre style="background:#f2f2f2; padding:10px; border-radius:3px">
add http command
Yuki Kimoto authored on 2016-06-02
454
git checkout <%= $base_branch %>
455
git merge --no-ff <%= $target_user_id %>-<%= $target_branch %>
456
git push origin <%= $base_branch %>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
457
</pre>
implement close and reopen
Yuki Kimoto authored on 2016-04-23
458
              </div>
improve pull page design
Yuki Kimoto authored on 2016-04-21
459
            </div>
add pull request command lin...
Yuki Kimoto authored on 2016-06-01
460
          </div>
implement close and reopen
Yuki Kimoto authored on 2016-04-23
461
        % }
462
        
fix pull page
Yuki Kimoto authored on 2016-06-11
463
        % if ($issue->{open}) {
implement close and reopen
Yuki Kimoto authored on 2016-04-23
464
          <div style="text-align:right;margin-top:10px;">
465
            <form action="<%= url_for %>" method="post">
466
              <%= hidden_field op => 'close' %>
467
              <%= submit_button 'Close pull request', class => 'btn' %>
468
            </form>
469
          </div>
470
        % } else {
471
          <div style="text-align:right;margin-top:10px;">
472
            <form action="<%= url_for %>" method="post">
473
              <%= hidden_field op => 'reopen' %>
474
              <%= submit_button 'Reopen pull request', class => 'btn' %>
475
            </form>
476
          </div>
477
        % }
user can only merge pull req...
Yuki Kimoto authored on 2016-04-21
478
      % }
improve pull page design
Yuki Kimoto authored on 2016-04-21
479
    </div>
480
  </div>
481

            
482
  %= include '/include/footer';