問題タブ [gerrit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 古い git プロジェクトを Gerrit にインポートする
Git リポジトリに gerrit をインストールしようとしています。git リポジトリに保存されているプロジェクトがたくさんあります。インストール後、Web インターフェイスからはすべて問題ないようです。admin>projects メニューからプロジェクトを見ることができます。ユーザーまたはグループを gerrit に追加できます。しかし、管理メニュー サーバーから [アクセス] リンクをクリックしたときにプロジェクトにアクセス ルールを追加すると、アプリケーション エラー、サーバー エラー (内部サーバー エラー) が返されます。
管理メニューの一般タブから設定を変更すると、このエラーを渡すことができますが、今回は変更を git サーバーにコミットできません。
エラー ログの完全なトレースは次のようになります。
[2011-06-10 10:36:20,111] 警告 /: com.google.gerrit で com.google.gerrit.server.git.VersionedMetaData.getRevision(VersionedMetaData.java:69) で projectAccess java.lang.NullPointerException のエラー.httpd.rpc.project.ProjectAccessFactory.call(ProjectAccessFactory.java:92) com.google.gerrit.httpd.rpc.project.ProjectAccessFactory.call(ProjectAccessFactory.java:40) com.google.gerrit.httpd.rpc .Handler.to(Handler.java:65) で com.google.gerrit.httpd.rpc.project.ProjectAdminServiceImpl.projectAccess(ProjectAdminServiceImpl.java:75) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) (sun.reflect.DelegatingMethodAccessorImpl)。com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91) で java.lang.reflect.Method.invoke(Method.java:597) で com.google.gwtjsonrpc で (MethodHandle.java:91) を呼び出す (DelegatingMethodAccessorImpl.java:25) .server.JsonServlet.doService(JsonServlet.java:382) で com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:268) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) でcom.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216) で com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141) で com.google.inject.servlet.ManagedServletPipeline.service( ManagedServletPipeline.java:93) で com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63) com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) で com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) で com.google.inject.servlet.FilterDefinition .doFilter(FilterDefinition.java:134) com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) com. google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76) com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition. java:129) com.google.inject.servlet.FilterChainInvocation で。com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) の doFilter(FilterChainInvocation.java:59) com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) の com.google .gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54) com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) で com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java) :59) com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122) で com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110) で org.eclipse.jetty.servlet. org.eclipse.jetty の ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)。org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921) の servlet.ServletHandler.doHandle(ServletHandler.java:473) org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java: 403) org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) で org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) で org.eclipse.jetty org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:59) の .server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) org.eclipse.jetty.server.handler.HandlerWrapper.handle の(HandlerWrapper.java:114) at org.eclipse.jetty.server.Server.handle(Server.java:352) at org.eclipse.jetty.server.HttpConnection.org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069) の handleRequest(HttpConnection.java:596) org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) の org .eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle (SelectChannelEndPoint.java:510) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) ) org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) で java.lang.Thread.run(Thread.java:662) で662)662)596) org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069) で org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) で org.eclipse.jetty.http .HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) ) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) で org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) で org.eclipse. java.lang.Thread.run(Thread.java:662) で jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)596) org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069) で org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) で org.eclipse.jetty.http .HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) ) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) で org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) で org.eclipse. java.lang.Thread.run(Thread.java:662) で jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)HttpConnection$RequestHandler.content(HttpConnection.java:1069) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) で org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) で org.eclipse.jetty.io.nio .SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run( QueuedThreadPool.java:450) で java.lang.Thread.run(Thread.java:662)HttpConnection$RequestHandler.content(HttpConnection.java:1069) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) で org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) で org.eclipse.jetty.io.nio .SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run( QueuedThreadPool.java:450) で java.lang.Thread.run(Thread.java:662)org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) の HttpParser.parseNext(HttpParser.java:805) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) の org .eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) at org.eclipse.jetty.io. nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) at java.lang.Thread.run(Thread.java:662)org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) の HttpParser.parseNext(HttpParser.java:805) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) の org .eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) at org.eclipse.jetty.io. nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) at java.lang.Thread.run(Thread.java:662)org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) でハンドル (HttpConnection.java:426) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) で) org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) で org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) で java.lang. Thread.run(スレッド.java:662)org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) でハンドル (HttpConnection.java:426) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) で) org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) で org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) で java.lang. Thread.run(スレッド.java:662)QueuedThreadPool$2.run(QueuedThreadPool.java:450) at java.lang.Thread.run(Thread.java:662)QueuedThreadPool$2.run(QueuedThreadPool.java:450) at java.lang.Thread.run(Thread.java:662)
編集:安定版に戻してすべてがうまくいきました。
gerrit - Gerrit にコメントを追加できません。むしろドラフトとして追加されます。私は何を間違っていますか?
Gerrit にコメントを追加できません。むしろドラフトとして追加されます。私は何を間違っていますか?ただし、私のチームの他のメンバーはコメントを追加できます。
git - Gerrit のコード レビューで、コミットが成功したときに電子メールの差分を出力するにはどうすればよいですか?
現在、次のように表示されています。
以前は、Gitolite を使用していたときに、git-commit-notifierを使用して、開発者メーリング リスト (これは post-receive フックです) で素敵な色の差分を作成していました。
Gerrit インスタンスでも同じように設定できますが、2 つの異なるメール メカニズム、メール テンプレート、およびマージが成功した場合の二重メールを使用することになります。
git - 私のgitサーバーのgerritセットアップ
リモート サーバーに約 10 個の git リポジトリがあり、コード t レビュー用に gerrit をセットアップしたいと考えています。gerrit プロジェクトを構成する方法について簡単な手順を教えてください。
gerrit をセットアップしたところ、管理者にプロジェクトがリストされずにサイトが適切に表示されます。
10 個のプロジェクトを gerrit にインポートするための次のステップと、レビューのアップロードを gerrit に送信する方法は?使用する必要があります..
ここに私の詳細があります。私はすべてのGoogleサイトを見てきましたが、gerritの使用を開始する方法を見つけることができません..
gerrit がインストールされました -- /home/gerrit2/review_site gerrit がユーザーと共にインストールされました -- インストールされた 10 個の git プロジェクトすべてを gerrit します - /home/repos/ 10 個のリポジトリがリモートでユーザーと共に作成されました -- web
以前の応答に感謝します。
git - コミットを修正/破棄せずに Gerrit レビューにパッチ セットを追加することは可能ですか?
簡単な例。Gerrit に変更をコミットすると、CI ビルドが壊れるか、レビュアーが満足しなくなります。次に、別のコミットで変更を修正します。多くの場合、これは小さなパッチ セットであり、新しい gerrit レビューではなく、元のレビューの新しいパッチ セットとして必要です。
これは、修正またはリベースとスカシンを使用して達成できることを知っています。
これが唯一のオプションですか?リベースとスカッシュを使用して履歴を書き換える必要があることについて、少し心配しています。
ありがとう、
ジャオ。
git - 複数の無関係なコミットをリモート git リポジトリにプッシュする
特定のブランチで 2 つの異なるプロジェクトに取り組んでいる状況があります。プロジェクト「A」を終了し、変更をコミットし、変更をリモートにプッシュしました。この変更「A」は現在レビュー中のため、まだブランチにマージされていません。その間、私は同じブランチの別のプロジェクトの無関係な変更に取り組み始めました。この変更を「B」と呼びます。この変更のコーディングも完了し、これをコミットしてプッシュする準備が整いました。しかし、変更「A」はまだマージされていないため、これをどのように行うべきかわかりません。これら 2 つの変更 "A" と "B" を、互いに依存しない個別の変更としてプッシュするにはどうすればよいですか?
git - Gerrit-githubに複製しますか?
gerritレプリケーションを機能させるのに苦労しています。これが私のreplication.configのサンプルです
私はそれを正しく行ったと思いますが、手動のgerritレプリケーションを強制すると、次のように表示されます。
そして今
git - 離れた場所にGerritミラーを設定する方法
ヨーロッパでのコードレビューにはGerritでgitを使用していますが、正常に機能します;)問題は、クローン作成、プッシュ、プルに時間がかかるインターネット接続を持つアジアの同僚がいることです。すべてのコミットをヨーロッパとアジアの間で一度だけ転送する必要があるように、Gerritミラーを設定する方法はありますか?Gerritがレプリケーションをサポートしていることは知っていますが、両側をプッシュおよびプルできるようにしたいので、それが答えかどうかはわかりません。
gerrit - gerrit: LDAP 認証を使用し、Jenkins 用の gerrit-local アカウントを持っています
企業環境でLDAP認証を使用する新しいgerrit 2.2.1サーバー。また、ローカル UNIX jenkins ユーザーとして実行されている Jenkins サーバーもあり、これを gerrit でチェックインし、ビルド結果を gerrit に投稿したいと考えています。
私たちは「jenkins」LDAP アカウントを持っていません。たとえ持っていたとしても、systems グループはシステム アカウントのパスワードを発行しないため、Web UI にアクセスしてアカウントを作成し、jenkins の公開を追加することはできません。 ssh キー。Jenkinsが使用できる「jenkins」アカウントをgerritに追加するにはどうすればよいですか? ゲリットにはすでに何人か登録されているので、運用には注意が必要です。
git - Gerrit で使用する場合、Git の特定のアップストリーム プッシュ refspec を構成する方法は?
私はGerrit Code Reviewで Git をセットアップしており、Git を初めて使用するユーザーにとって必要な Git コマンドを比較的簡単にする方法を探しています。
新しい機能ブランチを開始するために現在持っているコマンドは基本的に次のとおりです (Gerrit が であると仮定origin
):
work1234
これにより、いくつかの から分岐した新しい作業パッケージが開始されbaseline
、最後のプッシュで Gerrit に分岐が作成され、上流が設定されます。したがって、.git/config
次のようになります。
現在、Gerrit は、たとえば、レビュー用の新しいコミットを特別な refspec にプッシュすることを望んでrefs/for/work1234
います。私はこれを手動で行うことができます:
私がやりたいことは、プレーンが現在のブランチを Gerrit が必要とするリモートの refspec にプッシュするように設定する方法を見つけること.git/config
ですgit push
。私は次のgit config
分野を見てきました:
branch.<name>.*
-プッシュ参照仕様を設定するための特定のオプションがないようですpush.default
- 私はupstream
ここが欲しいremote.<name>.push
refs/heads/*:refs/for/*
-私はここで試しましたが、この場合は常にすべてのローカルブランチgit push
をプッシュしたいのですが、現在のブランチだけが必要です
Git だけでこれを行うことができない場合は、refspec を完全に指定する小さなラッパー スクリプトを作成します。ただし、Git がネイティブに適切な場所にプッシュできるとよいでしょう。