Commit Graph
4716 Commits
Author SHA1 Message Date
Kamil Trzcinski 640bf8ab72 Retry failed tests 2016-03-09 14:21:19 +01:00
Rémy Coutable 500337c4b2 Merge branch 'iurisilvio/gitlab-ce-bitbucket_closed' into 'master'
Fix bug where Bitbucket 'closed' issues were imported as 'opened'

_Originally opened at !2930 by @iurisilvio._

- - -

Bitbucket has an undocumented status `closed`.

https://confluence.atlassian.com/bitbucket/issues-resource-296095191.html

Related to https://gitlab.com/gitlab-com/support-forum/issues/559

See merge request !2973
2016-03-09 12:54:52 +00:00
Dmitriy Zaporozhets 68f1535ab6 Merge branch 'rs-traits-are-good' into 'master'
Make better use of the `visibility_level` factory traits



See merge request !3131
2016-03-09 09:12:26 +00:00
Dmitriy Zaporozhets bc14d81af0 Merge branch 'rs-snippets-dont-expire' into 'master'
Remove `Snippet#expires_at`

This was removed from the interface in
https://github.com/gitlabhq/gitlabhq/pull/6027 but its implementation
lingered around for two years.

See merge request !3103
2016-03-09 09:02:17 +00:00
Robert Speicher 5844a21a0a Use a custom Devise failure app to handle unauthenticated .zip requests
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/12944
2016-03-08 23:49:30 -05:00
Robert Speicher b900304c38 Make better use of the visibility_level factory traits 2016-03-08 16:40:45 -05:00
Robert Speicher 7000e76a01 Simplify the various Snippet factories 2016-03-08 16:40:27 -05:00
Robert Speicher e8cd04e831 Merge branch 'branch-tag-count-methods' into 'master'
Use dedicated methods for counting branches and tags

This started out as "Lets add two methods to count and cache some data" and ended up in a clean-up/fix of some existing code. The two problems were:

1. Different code was used for adding/removing branches/tags via Git and the UI
2. The code used for the UI didn't have any RSpec tests, and I couldn't find any Spinach tests either (though grepping for Spinach stuff is hard)

This MR addresses the following:

1. `Repository#branch_count` and `Repository#tag_count` are used to count and cache the number of branches/tags, these methods are then used on the branches/commits/tags pages.
2. `Repository#add_tag`, `Repository#add_branch`, `Repository#rm_tag` and `Repository#rm_branch` now all the appropriate before/after hook methods instead of calling a random single cache expiration method. This ensures caches are properly flushed when adding/removing tags/branches via the UI.
3. RSpec tests were added for the above methods.

This fixes gitlab-org/gitlab-ce#13459

See merge request !3128
2016-03-08 20:11:40 +00:00
Robert Speicher fe9a445faa Merge branch 'evuez/gitlab-ce-add-info-user-api' into 'master'
Expose User#last_sign_in_at and User#confirmed_at for admins

Closes #840

See merge request !3090
2016-03-08 17:30:10 +00:00
Yorick Peterse 590e1b4b21 Call after_create_branch in Repository#add_branch
This ensures the right caches are flushed when adding a branch via the
UI, instead of only flushing this one random cache.
2016-03-08 18:19:40 +01:00
Yorick Peterse 4ec035b488 Call the right hooks in Repository#add_tag
This ensures Repository#add_tag calls Repository#before_push_tag instead
of just 1 random cache expiration method.
2016-03-08 18:19:40 +01:00
Yorick Peterse 6857b92fab Added specs for Repository#rm_tag 2016-03-08 18:19:40 +01:00
Yorick Peterse 177025b5dd Call the right hooks when removing branches
This ensures that Repository#rm_branch calls
before_remove_branch/after_remove_branch instead of just 1 random cache
expiration method.
2016-03-08 18:19:40 +01:00
Yorick Peterse cb5a5ba095 Cache & flush tag/branch counts
The methods used for this are Repository#tag_count and
Repository#branch_count which cache their output in Redis as well as
memoizing it in an instance variable. Both methods have a corresponding
methods/hooks to flush the caches at the right time.
2016-03-08 18:19:40 +01:00
Rémy Coutable e632bd26e4 Fixes "iid of max iid" in Issuable sidebar for merged MR
Fixes #13928
2016-03-08 16:23:20 +01:00
Yorick Peterse 36730e8e63 Merge branch 'master' into 'master'
adds language names to projects list [image attached]

See merge request !3000
2016-03-08 14:52:53 +00:00
Pascal Bach 344d6e6f89 Support YAML alias/anchor usage in .gitlab-ci.yml
This allows to reuse one job as a template for another one:

```
job1: &JOBTMPL
  script: execute-script-for-job

job2: *JOBTMPL

```

This also helps to solve some of the issues in #342

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Fabio Huser <fabio.huser@siemens.com>
2016-03-08 08:49:32 +01:00
tiagonbotelhoandYorick Peterse 4929592458 adds test for git push service for updating the language of the project 2016-03-07 21:59:39 +01:00
tiagonbotelhoandYorick Peterse 8039bbf7f8 removes the test file of the project spec for invalid method 2016-03-07 21:59:39 +01:00
tiagonbotelhoandYorick Peterse 4b3f3167a4 implements test to simulate empty repo 2016-03-07 21:59:39 +01:00
tiagonbotelhoandYorick Peterse d72e6ad2a1 adds tests and fixes some broken code to main language mr 2016-03-07 21:59:39 +01:00
Robert Speicher 56c4f22c80 Remove redundant integration tests
These three tests were essentially checking that adding a note to
something updated its `noteable`'s `updated_at` attribute.

This is well-tested Rails behavior and we shouldn't feel the need to
write an integration test to verify it. At most we should be ensuring
that the association definition adds the `touch: true` option, which we
now do in Note's unit test.
2016-03-07 15:33:26 -05:00
Iuri de SilvioandRémy Coutable 591bf92ce7 Fix bug where Bitbucket closed issues were imported as opened 2016-03-07 19:23:47 +01:00
Douwe Maan 903aa7c95e Merge branch 'issue_13621_2' into 'master'
Labels should be visible in dashboard and group milestone views

Closes #13621

See merge request !2931
2016-03-07 17:18:25 +00:00
Douwe Maan 99f08b3f72 Merge branch 'feature/cross-project-labels' into 'master'
Add support for cross project references for labels

## Summary

Support for cross project references for labels.

## Rationale

1.   Cross project label references are currently not supported in GitLab
1.   `to_reference` method signature in `Label` model breaks the abstraction introduced in `Referable`.

      `concerns/referable.rb:  def to_reference(_from_project = nil)`

      Signatures:

      ```
      label.rb:           def to_reference(format = :id)

      commit_range.rb:    def to_reference(from_project = nil)
      commit.rb:          def to_reference(from_project = nil)
      external_issue.rb:  def to_reference(_from_project = nil)
      group.rb:           def to_reference(_from_project = nil)
      issue.rb:           def to_reference(from_project = nil)
      merge_request.rb:   def to_reference(from_project = nil)
      milestone.rb:       def to_reference(from_project = nil)
      project.rb:         def to_reference(_from_project = nil)
      snippet.rb:         def to_reference(from_project = nil)
      user.rb:            def to_reference(_from_project = nil)
      ```

     This MR suggests using `def to_reference(from_project = nil, format: :id)` which makes use of keyword arguments and preserves abstract interface.

1.   We need support for cross project label references when we want to move issue to another project

     It may happen that issue description, system notes or comments contain reference to label and this reference will be invalid after moving issue to another project and will not be displayed correctly unless we have support for cross project references.

     Merge request that needs this feature: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2831


I think that cross project label references may be useful, (example: `Hey, see our issues for CI in GitLab CE! - gitab-org/gitlab-ce~"CI"`).

cc @JobV @DouweM @rspeicher 

See merge request !2966
2016-03-07 09:16:22 +00:00
Douwe Maan eab7892dc1 Merge branch 'rs-factory-nitpicks' into 'master'
More Factory cleanup

Addresses nitpicks from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2847

See merge request !3108
2016-03-07 09:02:49 +00:00
Douwe Maan d43c778402 Merge branch 'indicate-mr-diverged-from-target' into 'master'
Indicate when an MR diverged from the target branch

This adds an indicator to the "Merge MR" box, to tell if and how much an MR diverged from its target branch.

For instance, consider an MR to merge the branch `feature` into `master`. Some other commits were added to `master` since `feature` was created, and the two branches diverged.

```text
o master
|
o    o feature
|    |
o    o
|  /
o
```

In this case, there will be a label in the MR Merge box stating:

> This MR is by 3 commits behind the target branch `master`.

## Screenshots

### The branch diverged from the target (UI Proposal)

![UI_suggestion_1](/uploads/cd5bee3959e68026ec7d5097259d53f4/UI_suggestion_1.png)

### The branch diverged from the target (alternative UI Proposal)

![UI_suggestion_2](/uploads/f36977101b59a610850e129837dfbc83/UI_suggestion_2.png)

## How is this useful?

- In a _rebase-workflow_ (MR are preferably rebased before being merged), the reviewer wants to know if an MR is rebased on the target branch before merging it. 
    
    _With this indicator, the reviewer knows immediately if the branch is rebased, or if she needs to ask the committer to rebase its branch._

<br>

- To keep the git history readable, a team prefers to avoid merging branches that really lag a lot behind the target branch. Merging an MR that is 10 commits behind is fine, but 200 is too much.

    _With this indicator, the reviewer can see on the MR page if the branch is really far behind the target – or only a few commits behind._

## Open questions

We've been using this at @captaintrain for a few months now, and found it quite useful.

I guess the open-questions are mostly: what UI would be the more adequate? Any thoughts on this, on the general usefulness and/or on the code?

See merge request !2217
2016-03-07 09:01:26 +00:00
Rubén Dávila 95b06a62c0 Updates from last code review. 2016-03-06 23:07:19 -05:00
Robert Speicher 7612fdbaa8 Remove unnecessary attribute definitions from Service factory 2016-03-06 16:55:17 -05:00
Robert Speicher de944c914b Add traits for each access_level to ProjectMember factory 2016-03-06 16:53:22 -05:00
Robert Speicher 042b047fc8 Remove unused another_email factory 2016-03-06 16:34:43 -05:00
Robert Speicher 836d593033 Remove Snippet#expires_at
This was removed from the interface in
https://github.com/gitlabhq/gitlabhq/pull/6027 but its implementation
lingered around for two years.
2016-03-05 18:12:17 -05:00
Robert Speicher 0c7626f3a5 Merge branch 'rs-frontmatter-pre' into 'master'
Properly display YAML front matter in Markdown

See merge request !3072
2016-03-05 00:17:58 +00:00
Douwe Maan 2f6ded6df9 Merge branch 'rs-no-default-credentials' into 'master'
Allow the initial admin to set a password

Closes #1980

See merge request !3068
2016-03-04 23:48:56 +00:00
Robert Speicher 8eaeda0816 Add YamlFrontMatterFilter to the PreProcessPipeline
This filter will detect YAML Front Matter and convert it to an HTML
table for prettier formatting.
2016-03-04 18:05:48 -05:00
Robert Speicher 599a6d7873 Allow the initial admin to set a password
Closes #1980
2016-03-04 17:37:57 -05:00
Douwe Maan 92d896183b Merge branch 'rs-organize-factories' into 'master'
Factory cleanup

Related: https://gitlab.com/gitlab-org/gitlab-ce/issues/5880

See merge request !2847
2016-03-04 22:27:56 +00:00
Douwe Maan 925da3fdf8 Merge branch 'rs-wiki-pipeline-spec' into 'master'
Add a spec for WikiPipeline

Removes the specs from GollumTagsFilter that were more like integration
tests for the pipeline than unit tests of the filter.

See merge request !3054
2016-03-04 21:19:11 +00:00
Robert Speicher 6df45eb463 Move all factory definitions to their own file 2016-03-04 15:26:51 -05:00
Dmitriy Zaporozhets 954b98377f Merge remote-tracking branch 'origin/issue_5854' 2016-03-04 14:29:57 +01:00
evuezandRémy Coutable b0d24ab1b5 Add fields to GET /users/* API endpoints for admins
Added fields are last_sign_in_at and confirmed_at.
They are available for GET /users/ and GET /users/:id for admins.

Closes #840
2016-03-04 11:59:43 +01:00
Phil Hughes da6e38a889 Fixed tests for comment forms 2016-03-04 10:44:04 +00:00
Robert Speicher 01b89ee8f1 Remove Profile::KeysController#new action 2016-03-03 16:13:59 -05:00
Robert Speicher def6446dad Replace [[_TOC_]] tag even if toc result is blank 2016-03-03 12:41:40 -05:00
Jacob Vosmaer 1764e1b7cb Use Gitlab::Git::DiffCollections 2016-03-03 18:38:44 +01:00
Rémy Coutable 00cb4a9714 Merge branch 'renaming-repository-caching' into 'master'
Flush repository caches before renaming projects

This should hopefully solve gitlab-org/gitlab-ce#13790. Once I know the exact steps to reproduce the problem I should be able to confirm this.

cc @dblessing @inem 

See merge request !2974
2016-03-03 15:35:11 +00:00
Rubén Dávila eb068b0fff Add commit message to JIRA's notification payload. 2016-03-03 09:55:53 -05:00
Douwe Maan 1cb4f810a5 Merge branch 'issue_13648' into 'master'
Reuse query from ProjectsFinder to get projects accessible to current user.

Fixes #13648

This is a refactor to reuse the existing query from our `ProjectsFinder` class

See merge request !3049
2016-03-03 14:28:25 +00:00
Pierre de La Morinerie 543845f7ef Indicate how much an MR branch diverges from the target branch 2016-03-03 15:11:44 +01:00
Grzegorz Bizon 34769efa79 Change content of cross project label 2016-03-03 10:41:11 +01:00