gitblit-org / gitblit

pure java git solution
http://gitblit.com
Apache License 2.0
2.27k stars 670 forks source link

Cannot view private repositories #1465

Open ts65 opened 8 months ago

ts65 commented 8 months ago

When creating a private repository, the URL /gitblit/summary/~testuser!testrepo.git shows "Internal error". The logfile shows this:

[ERROR] java.lang.NullPointerException at com.gitblit.wicket.pages.RepositoryPage.setupPage(RepositoryPage.java:277) at com.gitblit.wicket.pages.RepositoryPage.onBeforeRender(RepositoryPage.java:678) at org.apache.wicket.Component.internalBeforeRender(Component.java:1069) at org.apache.wicket.Component.beforeRender(Component.java:1103) at org.apache.wicket.Component.prepareForRender(Component.java:2297) at org.apache.wicket.Page.prepareForRender(Page.java:1545) at org.apache.wicket.Component.prepareForRender(Component.java:2329) at org.apache.wicket.Page.renderPage(Page.java:912) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:261) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105) at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1296) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1363) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:88) at com.gitblit.servlet.EnforceAuthenticationFilter.doFilter(EnforceAuthenticationFilter.java:99) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:88) at com.gitblit.servlet.ProxyFilter$1.doFilter(ProxyFilter.java:89) at com.gitblit.servlet.ProxyFilter.doFilter(ProxyFilter.java:82) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:88) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) 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:1651) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:142) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:576) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:222) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1126) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:514) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1060) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:140) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:96) at org.eclipse.jetty.server.Server.handle(Server.java:498) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) 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.base/java.lang.Thread.run(Thread.java:829)

The repository is created in the filesystem but I can't access it via Gitblit. I did change web.mountParameters to false or git.userRepositoryPrefix but the problem still exists. Non-private repositories work fine.

My configuration is

include = defaults.properties

git.cacheRepositoryList = false
git.onlyAccessBareRepositories = true
git.defaultAccessRestriction = VIEW
git.createRepositoriesShared = group
git.searchRepositoriesSubfolders = false
git.daemonPort = 0
git.sshPort = 0
server.httpBindInterface = localhost
server.httpPort = 7442
server.httpsBindInterface = localhost
server.httpsPort = 0
server.contextPath = /gitblit
web.authenticateViewPages = true
web.authenticateAdminPages = true
web.enforceHttpBasicAuthentication = false
web.allowGravatar = false
web.allowFlashCopyToClipboard = false
web.allowForking = false
web.forwardSlashCharacter = !
web.repositoryListType = flat

Additionally, the repository isn't shown even with web.includePersonalRepositories=true. I'm using Gitblit GO 1.9.3.