プレーヤー
私はここ数ヶ月gitとgitosisを使用していて、両方を本当に愛しています。残念ながら、gitosisを使用してプロジェクトの1つにアクセスする際に問題が発生しました。
セットアップ
Debianを実行しているホストされたサーバーアカウントにgitとgitosisのインストールを設定しました。また、個別のrsaキーを使用して4台のコンピューター(2台のUbuntu、2台のWindows)をセットアップし、それぞれがgitosisインストールにアクセスするように正常にセットアップしました。しばらくの間、すべてがスムーズに機能しました。しかし最近、「DesktopConfiguration」プロジェクトに何らかの方法(プッシュ、プル、クローン)でアクセスできなくなりました。私はもともと、Linuxマシンの1つでDesktopConfigurationプロジェクトを作成し、それをgitosisサーバーにプッシュして、Windowsマシンの1つに複製しました。最近(過去2週間ほど)まで問題なくアクセスできました。以下は、私のgitosis.confファイルと私が受け取っているエラーメッセージです(エラーメッセージは、WindowsまたはLinuxボックスを使用してプッシュ、プル、またはクローンを作成しようとしても同じです)。
フック
gitosis.conf
[gitosis]
loglevel = DEBUG
[group gitosis-admin]
writable = gitosis-admin
members = windows-desktop linux-desktop linux-laptop work-laptop
[group main-projects]
writable = WallpaperChanger
writable = RegexTester
writable = MovieAggregator
writable = FileRenamer
writable = GlutenFreeShoppingAssistant
writable = Libraries
writable = DesktopConfiguration
writable = RssFeedReader
members = windows-desktop linux-desktop linux-laptop work-laptop
エラーメッセージ
C:\Documents and Settings\myname\Desktop\Desktop Config Test>git clone git@myserver:DesktopConfiguration.git
Initialized empty Git repository in C:/Documents and Settings/myname/Desktop/Desktop Config Test/DesktopConfiguration/.git/
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'DesktopConfiguration.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writable' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'writeable' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'work-laptop' as 'readonly' on 'DesktopConfiguration.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'DesktopConfiguration.git', new value 'DesktopConfiguration'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'main-projects'
DEBUG:gitosis.group.getMembership:found 'work-laptop' in 'gitosis-admin'
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
物語
gitosisの経験とオンラインで見つけたほとんどの質問と回答から、エラーメッセージは、マシンがアクセスできるグループにプロジェクトを最初に追加せずにgitosisにプッシュしようとしたときに受信したメッセージとまったく同じように見えます。 。残念ながら、私の場合、これは当てはまらないようです。(私が何かを逃していない限り!)
ワイヤー
これでさらに情報が得られるかどうかは正確にはわかりませんが、更新後のフックからのデバッグメッセージは次のとおりです。
INFO:gitosis.run_hook:Running hook post-update
DEBUG:gitosis.gitdaemon:Global default is 'deny'
DEBUG:gitosis.gitdaemon:Walking '.', seeing ['RegexTester.git', 'gitosis-admin.git', 'Libraries.git', 'GlutenFreeShoppingAssistant.git', 'MovieAggregator.git', 'DesktopConfiguration.git', 'WallpaperChanger.git', 'RssFeedReader.git', 'FileRenamer.git']
DEBUG:gitosis.gitdaemon:Deny 'RegexTester'
DEBUG:gitosis.gitdaemon:Deny 'gitosis-admin'
DEBUG:gitosis.gitdaemon:Deny 'Libraries'
DEBUG:gitosis.gitdaemon:Deny 'GlutenFreeShoppingAssistant'
DEBUG:gitosis.gitdaemon:Deny 'MovieAggregator'
DEBUG:gitosis.gitdaemon:Deny 'DesktopConfiguration'
DEBUG:gitosis.gitdaemon:Deny 'WallpaperChanger'
DEBUG:gitosis.gitdaemon:Deny 'RssFeedReader'
DEBUG:gitosis.gitdaemon:Deny 'FileRenamer'
INFO:gitosis.run_hook:Done.
シャットアウト
すべてのマシンで、サーバー上の他のすべてのプロジェクト(gitosis-adminグループとmain-projectsグループの両方)に引き続きアクセス(プッシュ、プル、クローン)できます。これまでに私が試みたいくつかのことを次に示します。
- すべてのフォルダー、ファイル、および構成設定のスペルを複数回確認しました。
- 更新後のフックに適切な実行権限があることを確認した後、gitosis.confファイルからDesktopConfigurationプロジェクトを削除して再度追加しました。
- DesktopConfigurationの後に別のプロジェクトをgitosisに追加しましたが、正しく機能します。
- ローカルマシンのgitで、プロジェクトへのリモート参照を削除して再度追加しました。
- サーバーの「repositories」フォルダーからDesktopConfiguration.gitプロジェクトを削除し、再度プッシュしようとしました。
- すべてのrsaキーを再作成しました(ただし、認証は私が見ている問題とは何の関係もないようです)。
これらの試みはすべて、私がプロジェクトにアクセスすることを許可することに失敗しました。私の知る限り、このプロジェクトにアクセスできなくなった頃は、サーバーやデスクトップマシンで何も変わっていませんでした。
スティング
私はあなたが両手を広げて持っているかもしれないどんな洞察も歓迎します!