¿Cómo importar un repository desnudo de git en Gitlab?

Yo importé mi repository de git al desnudo en Gitlab como se describe aquí , porque no fue reconocido como un repository de git, pero crea un repo "vacío" grande de 94K (el original tiene 2,8GB de tamaño):

$ bundle exec rake gitlab:import:repos RAILS_ENV=production fatal: Not a git repository (or any of the parent directories): .git Processing test.git INFO: Sidekiq client using networkingis://localhost:6379 with options:namespace=>"resque:gitlab"} * Created test (test.git) Done! 

Como solución alternativa, reemplace la carpeta vacía del proyecto (que fue creada por la testing de import) con mi repository desnudo. Después tree para clonar el repository desde remoto y aparece el siguiente error:

 $ git clone git@mydomain.com:...test.git Cloning into 'test' fatal: '...test.git' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

Pero el usuario de git debe tener todos los derechos necesarios. – ¿Tal vez tengo algo pasado por alto?

Mi sistema: RHEL6.3, Git 1.8.3.4, Gitlab5.3.

¿Gitlab necesita un repository normal (no desnudo)? ¿O cuál podría ser mi problema?

¿Gitlab necesita un repository normal (no desnudo)?

No, todos los repos manejados por gitlab son repos sin cargo.

Debería ver:

 /home/git/repositories/user1/repo1.git /home/git/repositories/user1/repo2.git /home/git/repositories/greoup1/repo3.git ... 

Asegúrate de que los derechos de tu carpeta test.git (y de los files repos repo dentro de ella) sean los mismos que los /home/git/repositories/ desnudos existentes en /home/git/repositories/ .

Si la import no funciona, entonces "reemplace la carpeta vacía del proyecto (que fue creada por la testing de import) con mi repository simple".

Pero: necesita asegurarse de que cualquier gancho que estaba en el repository vacío vacío creado por GitLab (en ~git/repositories/arepo.git/hooks ) se copie sobre su repo completo reemplazando el vacío (la misma ruta).
Verifique también lo que estaba en ~git/repositories/arepo.git/info y ~git/repositories/arepo.git/config

Para depurar, intente primero clonar el repository vacío vacío creado por GitLab durante la import fallida.
Luego reemplácelo con el suyo, vuelva a verificar los ganchos y vuelva a intentarlo.


Como se menciona en el OP y se documenta en la " Guía de solución de problemas " de GitLab, la URL correcta de ssh es:

 git@git.myserver.com:repositories/mygroup/proj1.git 

con :repositories mencionados.


Para importar repos sin formatting (como lo menciona Sytse Sijbrandij a continuación y en raketasks/import.md )

  • copie sus repos sin connection bajo git repos_path (vea config/gitlab.yml gitlab_shell -> repos_path )
  • ejecuta el command a continuación

     bundle exec rake gitlab:import:repos RAILS_ENV=production 

Para la documentation de esta function, consulte https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/import.md

Para mí, la location para copyr el repository es – / var / opt / gitlab / git-data / repositories

Copié mi repository existente existente en el directory anterior y ejecuté> gitlab-rake gitlab: import: repos funcionó !!!

¡Lo tengo! Era un directory perdido en mi ruta ssh. Este problema ya fue rastreado aquí .

Lo siento, pero los posts de error no fueron tan evidentes. Espero que esto pueda ayudar a otros principiantes de Gitlab como yo 🙂