BigW Consortium Gitlab

  1. 07 Mar, 2016 10 commits
    • Remove redundant integration tests · 56c4f22c
      Robert Speicher authored
      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.
    • Merge branch 'issue_13621_2' into 'master' · 903aa7c9
      Douwe Maan authored
      Labels should be visible in dashboard and group milestone views
      
      Closes #13621
      
      See merge request !2931
    • Merge branch 'feature/cross-project-labels' into 'master' · 99f08b3f
      Douwe Maan authored
      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
    • Merge branch 'rs-factory-nitpicks' into 'master' · eab7892d
      Douwe Maan authored
      More Factory cleanup
      
      Addresses nitpicks from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2847
      
      See merge request !3108
    • Merge branch 'indicate-mr-diverged-from-target' into 'master' · d43c7784
      Douwe Maan authored
      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
    • Merge branch 'rs-note-delegates-mentionable' · be1ae2d6
      Douwe Maan authored
      # Conflicts:
      #	app/models/note.rb
    • Merge branch 'rs-remove-diffline' into 'master' · 49d7a293
      Douwe Maan authored
      Remove unused DiffLine model
      
      Added in Mar 2014. Only usage removed in Sep 2014.
      
      See merge request !3105
    • Merge branch 'rs-note-reuse-for-methods' into 'master' · de872f26
      Douwe Maan authored
      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
    • Merge branch 'rs-note-model-cleanup' into 'master' · 20ed08ed
      Douwe Maan authored
      Minor Note model cleanup
      
      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.
      
      ---
      
      Remove `Note#system?` "override"
      
      This method was duplicating default Rails behavior.
      
      See merge request !3104
    • Updates from last code review. · 95b06a62
      Rubén Dávila authored
  2. 06 Mar, 2016 7 commits
  3. 05 Mar, 2016 23 commits