2013-08-13 3 views
10

импортировать мой голый репозиторий в Gitlab, как описано в here, потому что он не был признан в качестве репозитория Git, но создает 94K большой «пустой» репо (оригинал 2,8GB большой):Как импортировать существующий готический репозиторий git в Gitlab?

$ 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 redis://localhost:6379 with options:namespace=>"resque:gitlab"} 
* Created test (test.git) 
Done! 

Как обходной путь я заменяю пустую папку проекта (которая была создана пробной версией импорта) с моим голой репо. После этого я дерево, чтобы клонировать репозиторий с пультом дистанционного управления и получить следующую ошибку:

$ git clone [email protected]:...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. 

Но пользователь мерзавец должен иметь все права, которые необходимы. -Может ли я что-то забыть?

Моя система: RHEL6.3, Git 1.8.3.4, Gitlab5.3.

Нужен ли Gitlab нормальный репозиторий (не голый)? Или что может быть моей проблемой?

ответ

8

Does Gitlab need a normal repository (non-bare)?

Нет, все репозитории, управляемые gitlab, являются голыми репозиториями.

Вы должны увидеть:

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

Убедитесь, что права вашего test.git папки (и файлов босых репо внутри него) таких же, чем существующие голых РЕПО под /home/git/repositories/.

Если импорт не работает, тогда «заменить пустую папку проекта (которая была создана пробной версией импорта) с моим голым репо».

Но: вам нужно убедиться, что любой крючок, который был в пустой пустой репо, созданный GitLab (в), копируется поверх вашего полного голого репо, заменяя пустую (тот же путь).
Проверьте также, что было в ~git/repositories/arepo.git/info и ~git/repositories/arepo.git/config

Для отладки попробуйте первый клонировать пустой голый репозиторий, созданный GitLab во время неудачного импорта.
Затем замените его своим, дважды проверьте крючки и повторите попытку.


Как mentioned по OP и задокументированы в GitLab "Trouble Shooting Guide", правильный SSH Ссылка:

[email protected]:repositories/mygroup/proj1.git 

с :repositories упоминается.


Для импорта босых РЕПО (как уже упоминалось Sytse Sijbrandijbelow и raketasks/import.md)

  • скопировать голый репо под мерзавцем repos_path (см config/gitlab.ymlgitlab_shell -> repos_path)
  • запустить команду ниже

    bundle exec rake gitlab:import:repos RAILS_ENV=production 
    
+0

Я добавил свою ошибку импорта на свой вопрос, потому что, я думаю, главная проблема заключается в импорте моего голого репо. Разрешения, которые я проверил несколько раз, и это (drwxrws ---.). – user2451418

+0

@ user2451418 то ваше обходное решение должно работать ... Я отредактировал свой ответ с еще несколькими идеями. – VonC

+0

Я думаю, что никаких крючков не создано: *** post-receive hooks in repos - это ссылки: ... Gitlab/test ... репозиторий пуст ***. И то же самое со спутниками. Также проблема не исчезает, когда я пытаюсь клонировать пустое репо из удаленного через ssh. Но на сервере клонирование работает нормально. – user2451418

2

У меня есть это! Это был недостающий каталог в моем пути ssh. Эта проблема уже отслеживалась here.

Извините, но сообщения об ошибках были не так явно. Я надеюсь, что это может помочь другим Gitlab-новички вроде меня :)

+0

Отлично. У меня есть ссылка на этот вопрос и в моем ответе. – VonC

+0

конкретная ссылка - https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#gitlab-shell – Anake

10

Для документирования этой функции см https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/import.md

+0

Хорошая ссылка. +1. Я включил его в свой выбранный ответ для большей видимости. – VonC

+0

Вы также захотите рассмотреть: https://github.com/gitlabhq/gitlabhq/pull/8140: только поставить свои импортированные репозитории в пространство имен (пользовательский или групповой поддиректор). –

+0

Я следил за инструкциями на связанной странице и не видел мой новый проект. После расследования это было связано с тем, что проект был внутренним и не был видимым пользователю без прав администратора. Фиксирование видимости устранило проблему. –

3

Для меня место, чтобы скопировать репозиторий -/вар/Opt/gitlab/ГИТ-данные/репозитории

Я скопировал свой существующий голый репозиторий в вышеприведенном каталоге и запустил> gitlab-rake gitlab: import: repos это сработало !!!

Смежные вопросы