我理解Gerrit会收到git提交(或许使用"""
WSGI config for ai_labs_blogs project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
"""
import os
import sys
import site
site.addsitedir('/var/www/html/.virtualenvs_copy/ai-labs-website-pure-django/local/lib/python2.7/site-packages')
sys.path.append('/var/www/html/blogs.ai-labs.co')
sys.path.append('/var/www/html/blogs.ai-labs.co/ai_labs_blogs')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ai_labs_blogs.settings")
activate_env=os.path.expanduser("/var/www/html/.virtualenvs_copy/ai-labs-website-pure-django/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
application = get_wsgi_application()
挂钩),然后在某个地方写一个假的ref,直到完成同行评审,但是这个过程在技术实现方面究竟是如何工作的? Git命令涉及什么?
答案 0 :(得分:2)
您可以引用用户when pushing new commits使用的魔术引用refs/for/<branch ref>
。
要创建新的审核更改,只需使用任何Git客户端工具推送到项目的神奇
refs/for/'branch'
引用:
git push ssh://sshusername@hostname:29418/projectname HEAD:refs/for/branch
E.g。
john.doe
可以使用git push为experimental
Gerrit服务器上托管的项目kernel/common
的{{1}}分支上传新的更改:
git.example.com
git push客户端上传的每个新提交都将转换为服务器上的更改记录 远程引用
git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental
实际上并不是由Gerrit创建的,即使客户端的状态消息可能另有说明。
从技术上讲,这是由cmd-receive-pack管理的。
由'git push'调用并使用更新项目的存储库 从'git push'结束的信息。
它由gerrit/sshd/commands/Receive.java
实施,使用 Git receive-pack protocol 通过SSH接收更改上传。