2013-08-13 22 views
10

hereとして説明するように、それが(元は大きな2,8GBです)gitリポジトリとして認識されますが、94K大きな「空」のレポを作成していなかったので、私は、Gitlabに私の裸のgitリポジトリをインポートします。既存の裸の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. 

しかし、Gitのユーザーが必要とされているすべての権限を持っている必要があります。 - 私は何か見落としているかもしれない?

マイシステム:RHEL6.3、Git 1.8.3.4、Gitlab5.3。

Gitlabは通常のリポジトリ(非裸)を必要としますか?または私の問題になることができますか?

答えて

8

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

いいえ、gitlabによって管理されるすべてのreposは、裸のレポです。

あなたが表示されるはずです。

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

(その中の裸レポファイル)あなたのtest.gitフォルダの権利を確認してくださいは/home/git/repositories/の下で、既存の裸のレポと同じです。

インポートがうまくいかない場合は、「空のプロジェクトフォルダ(インポートトライアルで作成されたもの)を裸のレポと置き換える」が必要です。

しかし、GitLab()で作成された空の裸のレポにあったフックが、空のもの(同じパス)を置き換えて完全ベアレポにコピーされていることを確認する必要があります。
チェックも失敗したインポート時にGitLabによって作成された空の裸のレポのクローンを作成する最初のを試してみてください、デバッグに~git/repositories/arepo.git/info~git/repositories/arepo.git/config

に何をしました。
それから、自分で置き換えてフックを再確認し、もう一度やり直してください。 OPによってmentionedとして


とGitLabで文書 "Trouble Shooting Guideは"、正しいSSHのURLは次のとおりです。:repositories

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

を挙げます。裸のレポ(Sytse Sijbrandijbelowraketasks/import.md中で述べたように)

  • をインポートするには


    はGitのREPOS_PATHの下で、あなたの裸のリポジトリをコピー(config/gitlab.ymlgitlab_shell -> repos_pathを参照)

  • 以下のコマンドを実行します。
    bundle exec rake gitlab:import:repos RAILS_ENV=production 
    
+0

私の主な問題は私の裸のレポのインポートだと思うので、私の質問に私のインポートエラーを追加しました。私が複数回チェックした権限は、(drwxrws ---)です。 – user2451418

+0

@ user2451418あなたの回避策はうまくいくはずです...私はいくつかの考えを考慮して自分の答えを編集しました。 – VonC

+0

私はフックが作成されていないと思う:***ポスト受信レックはリンクです:... 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

場所を参照してくださいある - の/ var/opt/gitlab/gitのデータ/リポジトリ

上記のディレクトリに既存のベアリポジトリをコピーして、gitlab-rake gitlabを実行しました:import:repos it worked !!!

関連する問題