Git Product home page Git Product logo

moduleowner's People

Contributors

bocon13 avatar tomikazi avatar

Stargazers

 avatar

Watchers

 avatar

moduleowner's Issues

Sort module owner list

I would like to request two minor features:

  1. Modules belong to the same owner should be sorted in dictionary order
  2. Sort by module name - This is useful when people want to find the owners of specific module

Module-Owner label cannot remove after owner CR +2

Thanks for your this good plugin. And I have some problem:

I use gerrit 2.13 and I follow config at “https://github.com/bocon13/moduleowner/blob/master/src/main/resources/Documentation/config.md”

And I have two problem:
Problem 1: moduleowner plugin not enable (from gerrit error_log). We need add Module-Owner label in project.config? How do config it?

Problem 2: Module-Owner label cannot remove after owner CR +2. We enable it by default, then test it. Change page also show "you are a module owner for this change", but after CR +2, it also show "Needs Module-Owner Label".

Maybe I missing something need config?

Thanks!

Null pointer exception

[2016-01-15 20:13:56,995] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in POST /changes/34/revisions/55c1b1a4862af60f67bb75efedfd4329145f4c23/review
java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
at com.google.common.cache.LocalCache.get(LocalCache.java:3936)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.google.gerrit.server.account.AccountCacheImpl.getByUsername(AccountCacheImpl.java:100)
at com.googlesource.gerrit.plugins.moduleowner.ModuleOwnerUtils.getAccountFromAttribute(ModuleOwnerUtils.java:99)
at com.googlesource.gerrit.plugins.moduleowner.ChangeEventListener.updateLabels(ChangeEventListener.java:158)
at com.googlesource.gerrit.plugins.moduleowner.ChangeEventListener.onEvent(ChangeEventListener.java:111)
at com.google.gerrit.common.ChangeHookRunner.fireEventForUnrestrictedListeners(ChangeHookRunner.java:706)
at com.google.gerrit.common.ChangeHookRunner.fireEvent(ChangeHookRunner.java:718)
at com.google.gerrit.common.ChangeHookRunner.doCommentAddedHook(ChangeHookRunner.java:429)
at com.google.gerrit.server.change.PostReview.fireCommentAddedHook(PostReview.java:577)
at com.google.gerrit.server.change.PostReview.apply(PostReview.java:203)
at com.google.gerrit.server.change.PostReview.apply(PostReview.java:136)
at com.google.gerrit.server.change.PostReview.apply(PostReview.java:78)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:68)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)

Module-Owner label not copied on trivial rebase

When a change is trivially rebased, the Code-Review label is carried over but the Module-Owner label is not.

The workaround is for the module owner to remove and reapply the Code-Review label.

Module owners are dropped from drafts with CR+0

When a module owner replies to a draft with CR+0, Gerrit does not include a Code-Review +0 approval, so the Module-Owner +0 label is removed. With no approvals, the reviewer is dropped from the draft.

Non-module owners disappear from reviews

If a non-module owner gives a +0 Code-Review, then the +0 Module-Owner approval is cleared. Gerrit includes reviewers on a patchset using a +0 approval to be present in the database.

We need to inject a +0 CR or +0 V label for non-module owners when they make a +0CR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.