1

Ubuntuに最新バージョンのgitoliteをインストールしました:

私は走っています

gitolite setup -pk user2.pub

私が得ているエラーは次のとおりです。

FATAL: could not symlink /home/git/.gitolite/hooks/common/update to MyRepository.
git/hooks
  at /home/git/gitolite/src/lib/Gitolite/Conf/Store.pm line 330

何が起こっているのかについて何か考えはありますか?


編集:わかりました-ディレクトリ

MyRepository.git/hooks

存在しません。しかありません

MyRepository.git/.git/hooks/

ギトライトはどうなっているのですか?

4

2 に答える 2

2

含まれるstore_common()もの:

# override/propagate gitolite defined hooks for all repos
ln_sf( "$rc{GL_ADMIN_BASE}/hooks/common", "*", "$repo.git/hooks" );

それは、順番に、呼び出しますln_sf()

sub ln_sf {
    trace( 3, @_ );
    my ( $srcdir, $glob, $dstdir ) = @_;
    for my $hook ( glob("$srcdir/$glob") ) {
        $hook =~ s/$srcdir\///;
        unlink "$dstdir/$hook";
        symlink "$srcdir/$hook", "$dstdir/$hook" or croak "could not symlink $srcdir/$hook to $dstdir\n";
    }
}

dstdirここは不完全なようです。する必要があります/home/git/repositories/MyRepository.git/hooks

これは、初期設定が正しくないことが原因である可能性があります。

于 2012-07-31T21:32:51.037 に答える
0

古いリポジトリをgitoliteにインポートしようとすると、前述のエラーが発生しました。

gitoliteリポジトリディレクトリには、「bare」リポジトリの「.git」フォルダが含まれています。つまり、リポジトリをgitoliteにインポートする場合は、次のことを行う必要があります
。--oldrepoが裸のgitリポジトリであることを確認します
--gtoliteユーザーとして次のコマンドを実行します

cd $HOME
cp -R oldrepo/.git repositories/oldrepo.git
gitolite setup

私の間違いは、古いリポジトリを「.git」を含むディレクトリとして配置することでした。私はそれが間違っていたことを知りました。

たとえば、私の古いリポジトリ:

os-HP /home/gitrepo/repositories $ ll scripts/.git/
total 52
drwxrwsrwx   8 gitrepo gitrepo 4096 Jan 25 10:59 .
drwxrwsrwx   3 gitrepo gitrepo 4096 Jul 26 15:48 ..
drwxrwsrwx   2 gitrepo gitrepo 4096 Jan 25 10:49 branches
-rwxrwxrwx   1 gitrepo gitrepo    8 Jan 25 10:53 COMMIT_EDITMSG
-rw-rw-r--   1 gitrepo gitrepo   91 Jan 25 10:59 config
-rwxrwxrwx   1 gitrepo gitrepo   73 Jan 25 10:49 description
-rwxrwxrwx   1 gitrepo gitrepo   23 Jan 25 10:49 HEAD
drwxrwsrwx   2 gitrepo gitrepo 4096 Jan 25 10:49 hooks
-rwxrwxrwx   1 gitrepo gitrepo  264 Jan 25 10:53 index
drwxrwsrwx   2 gitrepo gitrepo 4096 Jan 25 10:49 info
drwxrwsrwx   3 gitrepo gitrepo 4096 Jan 25 10:52 logs
drwxrwsrwx 133 gitrepo gitrepo 4096 Jun 28 08:50 objects
drwxrwsrwx   4 gitrepo gitrepo 4096 Jan 25 10:49 refs

gitoliteに付属しているテストリポジトリとの比較:

ey ~/repositories $ ll testing.git/
total 40
drwx------  7 gitrepo gitrepo 4096 Jul 26 02:37 .
drwx------  5 gitrepo gitrepo 4096 Jul 26 08:46 ..
drwx------  2 gitrepo gitrepo 4096 Jul 26 02:37 branches
-rw-------  1 gitrepo gitrepo   66 Jul 26 02:37 config
-rw-------  1 gitrepo gitrepo    0 Jul 26 05:16 git-daemon-export-ok
-rw-------  1 gitrepo gitrepo  120 Jul 26 05:16 gl-conf
-rw-------  1 gitrepo gitrepo   23 Jul 26 02:37 HEAD
drwx------  2 gitrepo gitrepo 4096 Jul 26 05:13 hooks
drwx------  2 gitrepo gitrepo 4096 Jul 26 02:37 info
drwx------ 10 gitrepo gitrepo 4096 Jul 26 03:05 objects
drwx------  4 gitrepo gitrepo 4096 Jul 26 02:37 refs
于 2015-07-26T13:01:23.560 に答える