2013-08-13 25 views
10

importować gołymi repozytorium git do Gitlab opisany jako here, ponieważ nie został rozpoznany jako repozytorium git, ale tworzy 94K wielki „pusty” repo (oryginał jest 2,8GB duże):Jak zaimportować istniejące repozytorium git do 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! 

Jako obejście zastępuję pusty folder projektu (utworzony w procesie importowania wersji próbnej) moim nagim repozytorium. Następnie wykonuję drzewo, aby sklonować repozytorium ze zdalnego i otrzymuję następujący błąd:

$ 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. 

Ale użytkownik git powinien mieć wszystkie wymagane prawa. - Może coś przeoczyłem?

Mój system: RHEL6.3, Git 1.8.3.4, Gitlab5.3.

Czy Gitlab potrzebuje normalnego repozytorium (nieobsługiwanego)? Albo jaki może być mój problem?

Odpowiedz

8

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

Nie, wszystkie transakcje repo zarządzane przez gitlab są nagimi transakcjami repo.

Powinieneś zobaczyć:

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

Upewnij prawa folderze test.git (i gołe plików repo w nim) są takie same, jak istniejące gołymi repo pod /home/git/repositories/.

Jeśli import nie działa, to "zastąp pusty folder projektu (utworzony przez próbę importu) moim nagim repo" powinien.

Ale: musisz upewnić się, że każdy hak, który znajdował się w pustym, nagim repo stworzonym przez GitLab (w), jest kopiowany na całe nagie repo, zastępując pusty (ta sama ścieżka).
Sprawdź też, co było w ~git/repositories/arepo.git/info i ~git/repositories/arepo.git/config

do debugowania, spróbuj najpierw sklonować pusty gołego repo utworzonego przez GitLab podczas nieudanego importu.
Następnie należy wymienić ją na własną, dwukrotnie sprawdzić zaczepy i spróbować ponownie.


jako mentioned przez OP i udokumentowane w GitLab "Trouble Shooting Guide" prawidłowa ssh URL to

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

z :repositories wymienione.


Aby zaimportować gołe repo (jak wspomniano przez Sytse Sijbrandijbelow aw raketasks/import.md)

  • skopiować gołe repo pod git ŚCIEŻKA_REPOZYTORIUM (patrz config/gitlab.ymlgitlab_shell -> repos_path)
  • uruchomić polecenie poniżej

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

Dodałem mój błąd importu do mojego pytania, ponieważ myślę, że głównym problemem jest import mojego nagiego repo. Uprawnienia, które sprawdziłem kilka razy, a są to (drwxrws ---.). – user2451418

+0

@ user2451418 wtedy twoje obejście powinno zadziałać ... Ja zredagowałem moją odpowiedź z kilkoma więcej pomysłami do rozważenia. – VonC

+0

Myślę, że nie ma haków utworzonych: *** haki po otrzymaniu w repo to łącza: ... Gitlab/test ... repozytorium jest puste ***. I to samo z satelitami. Również problem nie znika, gdy próbuję sklonować puste repo z odległego przez ssh. Ale na serwerze klonowanie działa dobrze. – user2451418

2

Mam to! To był brakujący katalog na mojej ścieżce ssh. Ten problem był już monitorowany here.

Przepraszamy, ale komunikaty o błędach nie były tak oczywiste. Mam nadzieję, że to może pomóc inne Gitlab-początkujących jak ja :)

+0

Doskonały. Mam również odniesienie do tego punktu w mojej odpowiedzi. – VonC

+0

określony link - https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#gitlab-shell – Anake

10
+0

Dobry link. +1. uwzględniłem go w wybranej odpowiedzi, aby uzyskać lepszą widoczność. – VonC

+0

Będziesz także chciał rozważyć: https://github.com/gitlabhq/gitlabhq/pull/8140: tylko umieść importowane repozytorium w przestrzeni nazw (użytkownik lub podkatalog). –

+0

Postępowałem zgodnie z instrukcjami na połączonej stronie i nie widziałem mojego nowego projektu. W trakcie dochodzenia było tak dlatego, że projekt był wewnętrzny i niewidoczny dla użytkownika bez uprawnień administratora. Naprawienie widoczności rozwiązało problem. –

3

Dla mnie lokalizacja skopiować repozytorium jest -/var/opt/gitlab/git-data/repozytoriów

Skopiowałem moje istniejące repozytorium w powyższy katalog i uruchomiłem> gitlab-rake gitlab: import: repos to działało !!!

Powiązane problemy