1

会社のサーバーにgitolitev2をインストールしましたが、管理する必要があります。とても混沌としているので、新しいものをインストールすることにしました。今はv3です。新しいインストールに移動したいリポジトリが約8つあります。

古い.rcファイルや構成は必要ありません。(機能しています!)$GIT_HOME/repositories/*.git

私が試したこと:(解決策を探しているときに見つけました)
すべて$GIT_OLD_HOME/repositories/*.git$GIT_HOME/repositories/*.git(gitolite-admin.gitとtesting.gitを除く)にコピーしました

gitolite-admin.git/conf/gitolite.conf次に、次の種類のエントリで(変更を複製してプッシュバックすることにより) 更新しました。

repo myrepo1
RW+ = @all

ここで、gitolite-adminまたはtesting以外のものを複製したい場合は、次のように言います。
FATAL: R any myrepo1 myusername DENIED by fallthru

私がチェックしたいくつかのこと:
ls -l $GIT_HOME -> gitolite:gitoliteそれは大丈夫だと思います。gitoliteは私が使用したいユーザーなので、ディレクトリ
内のすべてのエントリに対して同じことをrepositories行い、権限は同じです。

私は解決策を探していましたが、私の場合に合うものは見つかりませんでした。あなたが私を助けたり、私に何かを提案したりすることができるなら、遠慮しないでください:)

答えを見つけるためにさらに詳細が必要な場合は、私に教えてください。

4

2 に答える 2

1

同じ問題が発生し、アップグレードが正常に機能しなかったため、次の戦略を使用しました。太字のテキストは、ステップが実行された場所を表しています。

1-新規: Gitoliteをインストールします(https://github.com/sitaramc/gitolite)。

2-ワークステーション:新しい空のディレクトリで、古いバージョンのgitolite-adminのクローンを作成し、名前をに変更しgitolite-admin-oldます。自分以外のgitolite-admin-old/conf / gitolite.conf内のすべてのユーザーへのアクセスを削除します-リポジトリの移行中に、誰もが変更を実行できないようにします。

3-ワークステーション:古いGitoliteからすべてのリポジトリのクローンを作成します。git clone git@oldserver.com:repo

4-古い:古いリポジトリから必要なものをすでに取得しています。exit 0ファイルの先頭に追加して、古いgitoliteを完全に無効にし.gitolite.rcます。

5-ワークステーション:新しいサーバーからgitolite-adminのクローンを作成しますgit clone git@newserver.com:gitolite-admin gitolite-admin-new

6-ワークステーション:キーをからにコピーし、gitolite-admin-old/keydir転送するリポジトリをユーザー権限でgitolite-admin-new/keydir新しいリポジトリに追加します。gitolite-admin-new/conf/gitolite.conf追加、コミット、プッシュします。

7-ワークステーション:必要な各リポジトリを新しいサーバーにプッシュします

git push --all git@newserver.com:repo
git push --tags git@newserver.com:repo
or
git push --mirror git@newserver.com:repo

8-ワークステーション:各作業リポジトリからDNSまたはリモートURLを変更します。

お役に立てれば

于 2014-01-30T12:26:38.583 に答える
0

g2-> g3移行ページの説明に従って、.gitolite.rcファイルを移行したことを確認してください

g2から移行する場合は、gitoliteセットアップを実行する前に処理する必要のある設定がいくつかあります。移行ページとリンクされたページ、特に「rcファイルのプリセット」に関するページをお読みください。

g3のrcファイルはg2のrcファイルとはかなり異なります。

または、あなたが言及したように、古いものが必要ない場合は、デフォルトの新しいもののコンテンツが適切な値を持っていることを確認してください。

~git/.ssh/authorized_keys新しいファイルに次の行が含まれていることを確認してくださいmyusername


OP Attila Horvath は次のことを確認しています:

注:どのgitoliteinstall/setup/etcにも、リポジトリ以外のリポジトリのデータに触れるものはありませんgitolite-admin。通常のリポジトリで通常触れるのは、更新フックだけです。」

最後の文が私の注意を引いたばかりで、今ではそれが問題だったようです。
最初にgitoliteをインストールしてから、そこにリポジトリをコピーしたので、もう一度実行する必要がありましたがgitolite setup -pk mykey.pub、今は機能しているようです。

于 2013-03-20T12:17:09.483 に答える