Commit Graph
2974 Commits
Author SHA1 Message Date
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 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
Douwe Maan be1ae2d660 Merge branch 'rs-note-delegates-mentionable'
# Conflicts:
#	app/models/note.rb
2016-03-07 09:38:16 +01:00
Douwe Maan 49d7a29347 Merge branch 'rs-remove-diffline' into 'master'
Remove unused DiffLine model

Added in Mar 2014. Only usage removed in Sep 2014.

See merge request !3105
2016-03-07 08:34:12 +00:00
Douwe Maan de872f2668 Merge branch 'rs-note-reuse-for-methods' into 'master'
Make better use of the `Note#for_*?` methods

We've got all these polymorphic type-checking methods, might as well use
'em everywhere it makes sense.

See merge request !3106
2016-03-07 08:32:49 +00:00
Robert Speicher 84dab62c18 Delegate a Note's Mentionable methods to its noteable object 2016-03-05 20:45:05 -05:00
Robert Speicher dcbf7d13c4 Make better use of the Note#for_*? methods
We've got all these polymorphic type-checking methods, might as well use
'em everywhere it makes sense.
2016-03-05 20:19:01 -05:00
Robert Speicher 1c6fa9ff9e Remove unused DiffLine model
Added in Mar 2014. Only usage removed in Sep 2014.
2016-03-05 20:10:16 -05:00
Robert Speicher 1b27c3c5f8 Remove Note#system? "override"
This method was duplicating default Rails behavior.
2016-03-05 17:32:37 -05:00
Robert Speicher eb3ca32813 Remove Note#noteable_type_name
This method was added in Dec 2012, its single use was removed two days
later, and it's been there ever since.
2016-03-05 17:32:08 -05:00
Dmitriy Zaporozhets 14df110b78 Merge branch 'issue-sidebar-mobile' into 'master'
Issue sidebar mobile

Fixes #13592 
Fixes #14037 

See merge request !3050
2016-03-05 11:48:21 +00:00
Robert Speicher e6204eb3cb Move update_merge_request ability to Developer
Closes #13663
2016-03-04 15:53:25 -05:00
Jacob Schatz 2feb9eb1f0 Change icons for open close on issue/MR
Button full width on phone on MR/issue.
2016-03-04 09:06:57 -05:00
Dmitriy Zaporozhets 954b98377f Merge remote-tracking branch 'origin/issue_5854' 2016-03-04 14:29:57 +01: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
Pierre de La Morinerie 543845f7ef Indicate how much an MR branch diverges from the target branch 2016-03-03 15:11:44 +01:00
Dmitriy Zaporozhets 7e710acc1c Merge branch 'issue_4095' into 'master'
Don't show Issues/MRs from archived projects in Groups view

Fixes #4095 

See merge request !2980
2016-03-03 09:53:06 +00:00
Grzegorz Bizon fa639df5c7 Remove redundant code in cross project labels implementation 2016-03-03 10:41:11 +01:00
Grzegorz Bizon d49c8e8e3d Mention cross-project labels in markdown documentation 2016-03-03 10:41:11 +01:00
Grzegorz Bizon 7183a7da6d Add additional text prefix in cross project labels 2016-03-03 10:41:11 +01:00
Grzegorz Bizon a472c1bfd0 Add support for cross project references for labels 2016-03-03 10:41:11 +01:00
Grzegorz Bizon acd877c73e Add cross project references support for label model 2016-03-03 10:41:11 +01:00
Grzegorz Bizon 65ba4da925 Add support for keyword arguments in label reference method 2016-03-03 10:41:11 +01:00
Rubén Dávila 0b86b46a2c Don't list issues from archived projects in Group view. 2016-03-02 12:51:29 -05:00
Robert Speicher 076956cb2b Merge branch 'issue_13501' into 'master'
Add link to open merge requests on label index

Closes #13501 

See merge request !3057
2016-03-02 17:18:03 +00:00
Douwe Maan 4eec96eb7a Merge branch 'issue_13623' into 'master'
Show days remaining instead of elapsed time for Milestone.

Closes #13623

See merge request !2978
2016-03-02 10:54:30 +00:00
Alfredo Sumaran d1b22c3a0b Add open_merge_requests_count method 2016-03-01 21:04:34 -05:00
Alfredo Sumaran 3992e2269b Add association to merge requests 2016-03-01 21:04:13 -05:00
Rubén Dávila 03d58f564c Little refactor for milestone_remaining_days helper from last code review. 2016-03-01 19:40:50 -05:00
Rubén Dávila 7773180219 Show days remaining instead of elapsed time for Milestone. 2016-03-01 19:40:50 -05:00
Rubén Dávila d9e0191592 Add some specs for Repository#revert. 2016-03-01 19:16:27 -05:00
Rubén Dávila 0c116d8ed6 Check for conflicts before creating target branch. 2016-03-01 19:16:27 -05:00
Douwe Maan ad9137a785 Merge branch 'rs-avatar-validation' into 'master'
Only validate avatar cropping values when avatar is present AND changed

Closes #13905

See merge request !3018
2016-03-01 16:03:38 +00:00
Douwe Maan acd9881061 Merge branch 'rs-fix-user-namespace_uniq' into 'master'
Properly check for a pre-existing error in `User#namespace_uniq`

Rails adds an empty error to the Errors object even if you just call
`#[]` on it:

```
[1] pry(main)> u = User.last
[2] pry(main)> u.errors.keys
=> []
[3] pry(main)> u.errors[:username].present?
=> false
[4] pry(main)> u.errors.keys
=> [:username]
```

See merge request !3017
2016-03-01 16:02:57 +00:00
Robert Speicher 58a8d6e9ba Only validate avatar cropping values when avatar is present AND changed
Closes #13905
2016-02-29 17:19:53 -05:00
Robert Speicher 128757a7f9 Properly check for a pre-existing error in User#namespace_uniq
Rails adds an empty error to the Errors object even if you just call
`#[]` on it:

```
[1] pry(main)> u = User.last
[2] pry(main)> u.errors.keys
=> []
[3] pry(main)> u.errors[:username].present?
=> false
[4] pry(main)> u.errors.keys
=> [:username]
```
2016-02-29 17:10:46 -05:00
Robert Speicher 3334c3fc70 Reset otp_grace_period_started_at after disabling 2FA
Prior, if the user enabled 2FA, then disabled it and came back some time
after the grace period expired, they would be forced to enable 2FA
immediately.
2016-02-29 13:56:40 -05:00
Dmitriy Zaporozhets e7364050b0 Revert "Merge branch 'issue_5854' into 'master' "
This reverts merge request !2992
2016-02-29 17:30:41 +00:00
Dmitriy Zaporozhets 6f85eb3851 Merge branch 'issue_5854' into 'master'
Add commit message to JIRA's notification payload.

Closes #5854 

See merge request !2992
2016-02-29 17:29:07 +00:00
Douwe Maan 2ea8f71bb4 Merge branch '11489-branded-appearance-to-ce' into 'master'
Branded appearance to CE

Closes #11489 

The difference with the EE version is only that there is no distinction between light and dark logos, though this wasn't used anyway. If this is fine, I'll create a MR on EE too.

TODO:
- [x] Copy docs
- [x] Make new screenshots
- [ ] Remove Custom Welcome message feature?

@rymai: I was unsure what labels to add to ping you, so I just ping you like this 😉 

/cc @DouweM

See merge request !2927
2016-02-29 13:18:29 +00:00
Douwe Maan a297e44048 Merge branch 'issue_13621' into 'master'
Don't repeat labels listed on Labels tab.

Fixes #13622 

See merge request !2924
2016-02-29 13:16:00 +00:00
Rubén Dávila 496b9c0761 Add commit message to JIRA's notification payload. 2016-02-26 20:11:34 -05:00
Robert Speicher 2c6e34bc16 Merge branch 'repository-caching-refactor' into 'master'
Refactor Repository Caching

Related issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/13515

See merge request !2936
2016-02-26 22:07:50 +00:00
Zeger-Jan van de Weg 9a2869ab46 Branded login page also in CE
The only major difference with the EE version is the change from a light and dark logo to only a header logo
The dark logo wasn't used anyway, so it seemed to make sense to me to rename the field to the actual function of it
2016-02-26 15:50:51 +01:00
Yorick Peterse 1dfef90a87 Flush repository caches before renaming projects
This ensures that if a project is later re-created using the old path it
doesn't end up re-using the old cache. This also ensures we don't keep
the cache around until its expired by Redis itself.

Fixes gitlab-org/gitlab-ce#13790
2016-02-26 12:36:52 +01:00
Yorick Peterse 3b520efdc7 Moved exists condition in Repository#before_delete
This is only needed when calling the "expire_cache" method as the other
expiration methods don't depend on Git data.
2016-02-25 12:55:37 +01:00
Robert Speicher 93e6282657 Add :with_avatar trait to User factory 2016-02-24 13:50:03 -05:00
Alfredo Sumaran af978cd5bc Merge branch 'master' into avatar-cropping 2016-02-23 16:52:43 -05:00