Jump to navigation Jump to search
This page is a translated version of the page Manual:Pywikibot/Gerrit and the translation is 38% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎čeština • ‎українська • ‎العربية • ‎中文 • ‎日本語


  • Git - バージョン管理システム。SVNの後継。
  • Gerrit - コード・レビュー・プラットフォーム (。 Special:CodeReviewの後継。
  • core - 有効な (マスター) ブランチ、旧称は"rewrite"。


Git クライアント

  • Windows ユーザー: 私たちは TortoiseGitGit for Windowsと共に使用することをお勧めします。 まずは[1]ことをお奨めます。
  • macOS/Linux:コマンドライン版のgit。 - or brew install git(Homebrew, macOS)
$ git clone --recursive --branch stable


# 既に"core"に入っていると仮定すると
$ git pull origin stable
$ git submodule update # Updates i18n messages


# 既に"core"に入っていると仮定すると:
$ git pull origin stable --recurse-submodules # This updates everything

Note that the repositories are somewhat large (~70MB). If this is an issue, use

$ git clone --recursive --branch stable --depth 3

to just retrieve the latest versions.

SVN の使用

しかし待って下さい... 私は Git を使用したくありません。 まだSVNを使ってもよいですか? 大丈夫です! But don't forget to configure and update i18n submodule separately.

$ svn co
$ cd stable/scripts
$ svn co i18n


$ svn up stable
$ cd stable/scripts
$ svn up i18n
Windows 利用者ならGUI拡張機能のTortoiseSVN も利用できます。 説明文書はこちらを参照してください。


クライアントからリポジトリのURLを問い合わせてくるかもしれません。 URLの記述の書式:[repo name].

So for core:

Nightly distributions

You can download the whole packages or browse the source code via download page in Wikimedia Forge

ご使用の Pywikibot のセットアップにさらなるヘルプが必要な場合は、IRC チャンネル #pywikibot 接続する または pywikibot@ メーリング リストにお問い合わせください。


How to submit patches...configure git/gerrit. etc.

Read the guidelines, then follow steps in Gerrit/Getting started and run this:

#for hacking core
$ git clone --recursive ssh://

and after modifying codes follow steps in Gerrit/チュートリアル

Developer using Windows may also use Gerrit/TortoiseGit tutorial for further informations.

Example (step-by-step)

Do the following, step-by-step:

  1. setup your software:
    1. if not done already for svn access; create an SSH key, a developer account and add your public key to gerrit as well as to wikitech
    2. install 'git' package
    3. install 'git-review' package
      • the one by openstack [2], NOT the one by Facebook
      • any version like 1.12, 1.21, but NOT v1.18
  2. clone and setup your repo:
    1. clone the git repo with all submodules by using (like svn checkout)
      $ git clone --recursive ssh:// pywikibot-git
      and wait, this step will take some time
    2. enter the directory
      $ cd pywikibot-git
    3. config git setting for this repo/directory only (not global, in case e.g. you have different pseudo for multiple projects)
      $ git config "EMAIL"
      $ git config "USERNAME"
      in order to configure this globally, use the --global parameter
    4. config your terminal/console to output english messages (in order to work properly with git review, see Gerrit/git-review#Troubleshooting)
      $ alias git="LANG=C git"
      this has to be done every time a new console is started, in order to configure this permanently, put this into your bashrc or similar setup file
    5. setup git review for this repo only
      $ git review -s
      and enter your USERNAME again, this is an important step - if you forget it, according to Gerrit/Tutorial#Push your change set to Gerrit, the final git review below (needed to commit your changes for review) will fail - though this can be still solved then
  3. work with the repo, e.g. commit patches for review:
    1. switch to the master branch (might not be needed)
      $ git checkout master
    2. update the current branch to revision online (like svn update)
      $ git pull
    3. create your own local temporary branch for working $ git checkout -b MEANINGFUL_BRANCH_NAME and try to choose a MEANINGFUL_BRANCH_NAME with the help of the branch naming tips available – the branch can be removed when not needed anymore with $ git branch -D MEANINGFUL_BRANCH_NAME
    4. now write some code; see the Git commands add, rm and mv to add, remove or rename files - when you're ready go to the next step
    5. commit your changes to your local temporary branch with
      $ git commit --all
      (you can use -a instead of --all and -R instead of --no-rebase) and, as used from svn, enter a meaningful commit message, e.g. a short description of your code changes
    6. optionally check your changes by looking at the committed data
      $ git show HEAD
      and make sure that you are sending what you wanted to
    7. send the data to the online repository, resp. gerrit for review (like svn commit)
      $ git review
    8. finally go to Gerrit, click on your change and write a reviewer name in the input box near the "Add Reviewer" button
  4. optionally/opt-in further settings:


Patches will be linked to a Phabricator task automatically if you mention 'Bug: T12345' in a line just before 'Change-Id: ....'. 詳細情報は Gerrit/コミット メッセージのガイドライン を参照してください。

Problems, issues and work-a-rounds

jenkins-bot messages : FAILURE in ?s (non-voting)

The patchset committed did not pass flake8 code style checks. That says nothing about the functionality of the code but about the syntax and style. : FAILURE in ?s (non-voting)

The patchset committed did not pass mandatory pep257 code style checks. That says nothing about the functionality of the code but about the inline documentation. : FAILURE in ?s (non-voting)

The patchset committed did not pass pre-merge test suite. That indicates the code fails the basic tests, but a pass says nothing about the functionality of the modified code. There is a more extensive set of tests which developers should run pre-submission, and will run post merge.

This change could not be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.

The pachset cannot be merged automatically into current HEAD. Please consider Gerrit/Advanced usage#Build failed due to merge conflict for a solution.

More info about this can be found in Gerrit/Tutorial#How to submit a patch and Gerrit/Tutorial#git review complains about multiple commits.