Issue 1057: Can not import existing git repository in 2.2.1
Status:  Released
Owner: ----
Closed:  Feb 2012
Reported by leo...@gmail.com, Jul 20, 2011
Affected Version:

What steps will reproduce the problem?
1. put existing git repos in /some/path
2. Install and start gerrit 2.2.1
3. Returns Internal Error when clicking the "access" of any existing git repos

What is the expected output? What do you see instead?
Error message:

[2011-07-20 16:57:00,025] WARN  / : Error in projectAccess
java.lang.NullPointerException
        at com.google.gerrit.server.git.VersionedMetaData.getRevision(VersionedMetaData.java:69)
        at com.google.gerrit.httpd.rpc.project.ProjectAccessFactory.call(ProjectAccessFactory.java:92)
        at com.google.gerrit.httpd.rpc.project.ProjectAccessFactory.call(ProjectAccessFactory.java:40)
        at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65)
        at com.google.gerrit.httpd.rpc.project.ProjectAdminServiceImpl.projectAccess(ProjectAdminServiceImpl.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91)
        at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:382)
        at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:268)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
        at org.eclipse.jetty.server.Server.handle(Server.java:352)
        at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
        at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
        at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
        at java.lang.Thread.run(Thread.java:636)

Please provide any additional information below.

Jul 20, 2011
#1 leo...@gmail.com
according to the document, "The projects table columns are now stored in the project.config file of the refs/meta/config branch of each managed Git repository."

but no project.config found in any directory, including Git repository created by "gerrit create-project"
Aug 10, 2011
Project Member #2 edwin.ke...@gmail.com
 Issue 1075  has been merged into this issue.
Aug 10, 2011
Project Member #3 edwin.ke...@gmail.com
Please have a look at this mailing thread [1].

This is a known bug in Gerrit 2.2.1. You need to make sure you have an
empty refs/meta/config branch in each project. 

I think for Gerrit 2.2.2 is this fixed by [2].

[1] http://groups.google.com/group/repo-discuss/browse_thread/thread/cc3d6d3bccd225e1
[2] https://review.source.android.com/23691
Aug 10, 2011
Project Member #4 edwin.ke...@gmail.com
 Issue 1086  has been merged into this issue.
Sep 26, 2011
#5 bogdan.p...@gmail.com
Any clue when 2.2.2 will be out?
Oct 11, 2011
#6 bkolenichev
I found that refs/meta/config is created if change something in Admin->General and press save button
Oct 11, 2011
#7 jgoldb...@gilt.com
Thanks Bkolenic!
Oct 20, 2011
#8 florent....@gmail.com
Yes thank you very much for this trick (https://code.google.com/p/gerrit/issues/detail?id=1057#c6). That did it for me too.
Nov 3, 2011
#9 guy.chis...@gmail.com
I'm a little confused with the import procedure for 2.2.x!  When I place existing git repos within the basePath (is this now the official import procedure?), the ".git" suffix is shown within gerrit.  However, using the create-project will generate a repository with a ".git" suffix on the basPath filespace with no suffix shown within gerrit.

The convention relates to the discussion in  Issue 366 

cheers
git-suffix.PNG
11.0 KB   View   Download
Feb 14, 2012
#10 egrumbach
I think that this issue has been fixed, maybe it can be closed ?
Feb 14, 2012
Project Member #11 edwin.ke...@gmail.com
Yes, this is fixed by [1].

[1] https://gerrit-review.googlesource.com/#/c/23691/
Status: Released
Labels: FixedIn-2.2.2