Gerrit

Migrating

Example migration ticket (cobalt -> gerrit1001): https://phabricator.wikimedia.org/T222391

Topic branch from gerrit1001 migration: https://gerrit.wikimedia.org/r/q/topic:%22gerrit1001%22+(status:open%20OR%20status:merged)

Follow these steps to migrate from one server to another:

Make sure you run rsync with —delete

  • Rsync /srv/gerrit/git/ , /srv/gerrit/plugins and /var/lib/gerrit2/review_site/ from <old_host> to <new_host>

(Note: We are using rsync protocol directly and ‘gerrit-data’ and ‘gerrit-var-‘lib’ are the names of rsync modules, not file system pathes. They are defined in «class profile::gerrit::migration».)

  • Stop gerrit && disable puppet on <new_host>
  • Create something similar to
  • Stop puppet on <old_host> + <replica>
  • Create something similar to
  • Create something similar to
  • Stop gerrit on <old_host>
  • Repeat the rsync commands above.
  • Rename /var/lib/gerrit2/review_site/data/javamelody/r_<old_host> to /var/lib/gerrit2/review_site/data/javamelody/r_<new_host> on <new_host>.
  • Run puppet on <new_host> + <old_host>
  • Start gerrit on <new_host>
  • Manually copy apache2 site config for gerrit.wm.org with scp from <old_host> to <new_host>, restart apache
  • Manually run command from list_mediawiki_extensions cron to create /var/www/mediawiki-extensions.txt
  • Run the online reindexer

Decom (create a ticket like https://phabricator.wikimedia.org/T236187)

Set Up SSH Keys in Gerrit

We use an SSH key to establish a secure connection between your computer and Gerrit.
To make sure whether you need to generate a brand new key, let’s check if an SSH key already exists on your system.
Run this command in a terminal:

The command will list the files that are in the (hidden) directory.
If the directory already exists on your system and if the output lists a file called , then you can go directly to .

Generate a new SSH key

Output of the ssh-keygen command

Enter a strong and unique passphrase and press the key.

Why do passphrases matter?
Passwords aren’t very secure. If you use one that’s easy to remember, it’s easier to guess or brute-force. If you use one that’s random it’s hard to remember, so you might write the password down. Both are very bad. This is why you’re using ssh keys. But using an ssh key without a passphrase is basically the same as writing down that random password in a file on your computer. Anyone who gains access to your drive has gained access to every system you use that key with. That’s why you also add a passphrase. To not enter a long passphrase every time you use the key, there’s a tool called . It can save your passphrase securely. If you use macOS or Linux, then your keys can be saved in the system’s keychain to make your life even easier.

The command will create 2 files in directory:

  •  : your private SSH key (for identification)
  •  : your public SSH key

Copy your SSH Public key

Get the content of your public key file (e.g. ) to copy it to your clipboard:

One option is to open your public key file with your favorite text editor (Notepad, TextEdit, gedit, etc).
In the file chooser dialog of your text editor, you may need to turn on “View hidden files” to find the file, because the directory is hidden.
Sometimes the “View hidden files” option is available by right-clicking in the file chooser dialog.

Other options are:

  • On Linux, run and manually copy the output to the clipboard.
  • On Windows, you can open Git GUI, go to Help ? Show Key, and then press «Copy To Clipboard» to copy your public key to your clipboard.
  • On macOS, you can run to copy the contents of the your public key file to your clipboard.

Add SSH Public key to your Gerrit account

  • Log into the web interface for Gerrit. The username and password for your Gerrit are the same as for .
  • Click on your username in the top right corner, then choose «Settings».
  • Click «SSH Public Keys» in the menu on the left.
  • Paste your SSH Public Key into the corresponding field and click «Add».

Add SSH Private key to use with Git

Start the Git Bash command line.

Get ssh-agent running using

Be sure to use the accent , not the single quote . (You could copy and paste from this page if you cannot easily enter this special character.)

Add your private key to the agent. If you followed the steps above and your key has the default name id_rsa, then the command is:

Connect to the Gerrit server via ssh to check if everything works as expected. Replace gerrituser by your username as shown in your Gerrit settings:

  • Be paranoid and compare that the «RSA key fingerprint» is the same as the SSH fingerprint for gerrit.wikimedia.org:29418. If it is the same, answer «Yes» to «Are you sure you want to continue connecting?». Then enter the passphrase for your key.
  • You should get a message «Welcome to Gerrit Code Review». The last line should show «Connection to gerrit.wikimedia.org closed.»
  • If you run into problems, use (replace gerrituser by your username). The will provide verbose output to help find problems. Then read Gerrit/Troubleshooting.

An example Gerrit SSH connection success message looks like this:

Example:

Download code using Git

Let’s practice by downloading (also called «cloning») the repository called «sandbox».
Run the following on the Git Bash command line:

(Replace gerrituser by your Gerrit username.
And make sure the URL begins with and not ).

This will copy the entire history and the code base of the «sandbox» extension repository onto your machine.
You will have a working directory of the extension’s main branch (usually also called «git master»).
Enter the new directory (via the command ).
Now you can look at the code and start editing it.

Cloning the Sandbox repository will not give you a or a running MediaWiki installation.
(Running will require MediaWiki Core and placing the code you checked out in a location expected by your web server.) See Download from Git how to download MediaWiki Core, extensions, skins, or any other project repository hosted at gerrit.wikimedia.org from Git.

Биография

Ритвельд с детства работал в мастерской своего отца-плотника. В 1904 году он поступил чертёжником к утрехтскому ювелиру Бегееру, у которого работал девять лет. Параллельно он посещал вечерние курсы под руководством архитектора Клаархамера. В 1917 году Ритвельд открыл собственную мебельную мастерскую.

На взгляды Ритвельда серьёзное влияние оказали Чарльз Макинтош и Фрэнк Ллойд Райт. В 1918 году Ритвельд знакомится с Тео ван Дусбургом, Питом Мондрианом и другими молодыми художниками, которые все вместе станут известны как «Стиль» (нидерл. De Stijl). Их стиль, получивший название неопластицизм, оказался близок воззрениям Ритвельда: они использовали простейшие конструкции из горизонтальных и вертикальных элементов и минимальную палитру цветов — «основные» красный, синий и жёлтый с добавлением чёрного и белого. В том же году Ритвельд создал одно из самых известных своих произведений — красно-синий стул. Для создания стула он использовал прямые доски и рейки, так что трёхмерный объект визуально разлагался на простые геометрические формы, и два из трёх «основных» цветов. Позже стул экспонировался на выставке Баухауса.

Одной из первых архитектурных работ Ритвельда стал частный дом жительницы Утрехта Трюс Шрёдер-Шрэдер (Truus Schröder-Schräder}. Дом продолжает развитие неопластицизма: прямоугольные формы, традиционная для произведений «Стиля» палитра (белые и серые стены и вертикальные линии, выполненные в основных цветах). Вилла была построена в соответствии с 16-ю пунктами «пластичной архитектуры» Ван Дусбурга: она была «элементарной, экономичной и функциональной; немонументальной и динамичной; антикубистической по форме и антидекоративной по цвету». Радикализм Ритвельда проявился в планировке второго этажа: за исключением ванной и туалета на втором этаже отсутствовали внутренние перегородки. Внутренняя отделка была исполнена в тех же цветах, что и наружные стены. Дом Шрёдер был построен в жилом районе и разительно отличался от окружавших его стандартных жилых зданий. Шрёдер поселилась в доме с тремя детьми (она была вдовой) и жила в нём до своей смерти в 1985 году. С 2000 года Дом Шрёдер входит в число объектов Всемирного наследия ЮНЕСКО.

В 1928 году Ритвельд стал одним из 28 учредителей Международном конгрессе современной архитектуры (фр. Congres Internationaux d’Architecture Moderne, CIAM) Ле Корбюзье. 1930-е годы были менее продуктивны. Одним из известных творений того времени стал стул «Зигзаг», состоявший из четырёх плоскостей, соприкасавшихся друг с другом под разными углами (1932—1934). После войны Ритвельд преподавал в Роттердаме, а затем в Гааге. В 1951 году в Амстердаме прошла большая ретроспективная выставка «Стиля».

В 1954 году Ритвельд оформил нидерландский павильон на Венецианской биеннале, затем реализовал несколько проектов в Нидерландах. В 1963 году он избирается почётным членом Союза архитекторов Нидерландов, а в следующем году получает почётную докторскую степень в Делфтском техническом университете. В том же году Ритвельд умер. Последним его крупным проектом стал музей Ван Гога. Строительство здания в 1973 году завершили его партнёры по архитектурной студии ван Диллен и ван Трихт.

Центральный музей Утрехта

Центральный музей Утрехта.

Центральный музей Утрехта является старейшим городским музеем в Нидерландах. Он был основан в 1838 году и располагается в здании бывшего монастыря августинцев. В музейном комплексе представлена впечатляющая коллекция картин таких известных мастеров утрехтской школы, как Иоахим Юттеваль и Геррит ван Хонтхорст.

Помимо работ старых мастеров, в коллекцию музея вошли средневековые скульптуры, археологические и религиозные экспонаты, исторические костюмы и мебель, изделия декоративно-прикладного искусства, ювелирные украшения и работы современных художников.

Среди наиболее интересных экспонатов – старинное судно, относящееся к типу так называемых «утрехтских кораблей», которое выставлено в подвальном помещении музея. Центральный музей Утрехта с его богатой и разнообразной коллекцией – обязательное место для посещения, где каждый посетитель сможет найти для себя что-то интересное.

Адрес: Centraal Museum, Agnietenstraat, Утрехт, Нидерланды.

Works by Gerrit Rietveld

Rietveld’s early work was characteristic of De Stijl, a modernist art movement whose members included Piet Mondrian and Theo van Doesburg.  

His masterpiece, the ‘Rood-blauw stoel’, or more simply the Red and Blue Chair, was commended for its simplicity, clarity and, in Rietveld’s words, “honest design”. Its abstract composition is intrinsic to De Stijl, which sought to find harmony through geometry. In 1923, on a suggestion from fellow artist Bart van der Leck, he applied a high-shine lacquer to the chair using primary colours in such a way that the planes of colour appeared to float. 

The Rietveld-Schröder House in Utrecht is another of the artist’s most important accomplishments. Truus Schröder adored Rietveld’s work and commissioned him to design a house for her and her children. The completed Rietveld-Schröder House, and its use of light and space, was ground-breaking for 1924. Horizontal windows flooded the rooms with light, sliding doors allowed the space to be divided, and its dramatic colour emphasised the geometric shapes. In style, it was reminiscent of a three-dimensional Mondrian painting, attracting media attention from around the world. The Rietveld-Schröder House has been a protected UNESCO World Heritage Site since 2000. 

Rietveld’s final project was one of his most significant: the Van Gogh Museum in Amsterdam. He passed away one year after the project began and it was completed nine years later, remaining true to his initial sketches.

Inspecting an account settings

Since Gerrit 2.15, accounts are stored in . One first need to find the account reference, that can be done by checking which references a user can read on All-Users.git:

$ ssh -p 29418 gerrit.wikimedia.org gerrit ls-user-refs --project All-Users --user 'johndoe@wikimedia.org' 
refs/meta/config
refs/users/34/1234
refs/users/self
$

Note: for accounts having extended permissions on , that will show all references which is not useful.

Then on the server side (or remotely if you have privileges), you can list the configuration files and dump their content:

$ cd /srv/gerrit/git/All-Users.git

$ git ls-tree refs/users/34/1234
100644 blob xxx account.config
100644 blob yyy authorized_keys
100644 blob zzz preferences.confg
100644 blob ddd watch.config

$ git show refs/users/34/1234:authorized_keys
ssh-rsa AAAAxyz... RSA-1024
$ mkdir All-Users && cd All-Users && git init
$ git pull https://gerrit.wikimedia.org/r/All-Users refs/meta/external-ids
$ git grep johndoe

Биография

Ритвелд с детства работал в мастерской своего отца-плотника. В 1904 году он поступил чертёжником к утрехтскому ювелиру Бегееру, у которого работал девять лет. Параллельно он посещал вечерние курсы под руководством архитектора Клаархамера. В 1917 году Ритвелд открыл собственную мебельную мастерскую.

На взгляды Ритвелда серьёзное влияние оказали Чарльз Макинтош и Фрэнк Ллойд Райт. В 1918 году Ритвелд знакомится с Тео ван Дусбургом, Питом Мондрианом и другими молодыми художниками, которые все вместе станут известны как «Стиль» (нидерл. De Stijl). Их стиль, получивший название неопластицизм, оказался близок воззрениям Ритвелда: они использовали простейшие конструкции из горизонтальных и вертикальных элементов и минимальную палитру цветов — «основные» красный, синий и жёлтый с добавлением чёрного и белого. В том же году Ритвелд создал одно из самых известных своих произведений — красно-синий стул. Для создания стула он использовал прямые доски и рейки, так что трёхмерный объект визуально разлагался на простые геометрические формы, и два из трёх «основных» цветов. Позже стул экспонировался на выставке Баухауса.

Одной из первых архитектурных работ Ритвелда стал частный дом жительницы Утрехта Трюс Шрёдер-Шрэдер (Truus Schröder-Schräder}. Дом продолжает развитие неопластицизма: прямоугольные формы, традиционная для произведений «Стиля» палитра (белые и серые стены и вертикальные линии, выполненные в основных цветах). Вилла была построена в соответствии с 16-ю пунктами «пластичной архитектуры» Ван Дусбурга: она была «элементарной, экономичной и функциональной; немонументальной и динамичной; антикубистической по форме и антидекоративной по цвету». Радикализм Ритвелда проявился в планировке второго этажа: за исключением ванной и туалета на втором этаже отсутствовали внутренние перегородки. Внутренняя отделка была исполнена в тех же цветах, что и наружные стены. Дом Шрёдер был построен в жилом районе и разительно отличался от окружавших его стандартных жилых зданий. Шрёдер поселилась в доме с тремя детьми (она была вдовой) и жила в нём до своей смерти в 1985 году. С 2000 года Дом Шрёдер входит в число объектов Всемирного наследия ЮНЕСКО.

В 1928 году Ритвелд стал одним из 28 учредителей Международном конгрессе современной архитектуры (фр. Congres Internationaux d’Architecture Moderne, CIAM) Ле Корбюзье. 1930-е годы были менее продуктивны. Одним из известных творений того времени стал стул «Зигзаг», состоявший из четырёх плоскостей, соприкасавшихся друг с другом под разными углами (1932—1934). После войны Ритвелд преподавал в Роттердаме, а затем в Гааге. В 1951 году в Амстердаме прошла большая ретроспективная выставка «Стиля».

В 1954 году Ритвелд оформил нидерландский павильон на Венецианской биеннале, затем реализовал несколько проектов в Нидерландах. В 1963 году он избирается почётным членом Союза архитекторов Нидерландов, а в следующем году получает почётную докторскую степень в Делфтском техническом университете. В том же году Ритвелд умер. Последним его крупным проектом стал музей Ван Гога. Строительство здания в 1973 году завершили его партнёры по архитектурной студии ван Диллен и ван Трихт.

Overview

NB., the screenshots were taken from a very old version of Gerrit, and consequently should be viewed as ideographic.

Main Features

Gerrit is a web-based tool that is used for code review. Its main features are the side-by-side difference viewing and inline commenting, which makes code reviews a quick and simple task. It is used together with the Git version control system. Gerrit allows authorized contributors to merge Changes to the Git repository, after reviews are done. Contributors can get their code reviewed with little effort, and get their Changes quickly through the system.

Basic Workflow

Gerrit usage has two stages: First, the contributor uploads Changes to Gerrit with Git, and second, peers use the web browser to make reviews. The review process includes the following steps:

  • Review Changes
  • Publish comments
  • Approve or abandon Changes

Repository Structure

Gerrit can manage multiple repositories (projects). Branches are fully supported by Gerrit, each repository can have any number of branches.

Gerrit stores Changes, which are normal commits, as references in the refs/changes/ namespace. When contributors push Changes, they prepend refs/for/ to the target branch. For example, when contributor uploads a commit to the dev branch, the target ref will be refs/for/dev.

Terminology

Common terms used in Gerrit:

Term Description
Change The unit of review. Results in a single commit when merged to the Git repository.

Change numbers (identifiers) are unique and never change.

Patch Set A revision of a Change. Each time a Change is modified, it will receive a new Patch Set.

Patch Set numbering starts from 1.
Technically, a Patch Set is a unique Git commit.

Approval Category Name for a scope that is checked during review process. Qt is using the categories Code Review and Sanity Review.
Score A value in an Approval Category. Indicates if a Change is approved and can be submitted to the Git repository.
Submit An action that allows Gerrit to merge a Change to the Git repository.
Abandon Action that archives a Change. An abandoned Change can be restored later.
Project A Git repository.

Как добраться до Утрехта

Амстердам от Утрехта отделяет всего 40 км по отличной автомобильной дороге.

Ближайший аэропорт Схипол — 50 км, аэропорт Роттердама Гааги — 60 км, аэропорт Эйденховена — 93 км.

В Нидерландах отлично развито железнодорожное сообщение и Ухтрехт является крупнейшим железнодорожным узлом страны. В него возможно доехать на электричке из практически любого города Нидерландов и даже соседних стран.

Стоимость проезда на поезде от Центрального вокзала Амстердама — 8€, прямо из аэропорта Схипол — 9,2€.

Удобнее всего подобрать себе билеты на сайте Omio.ru, на русском языке сразу покажет расписание движения поездов, автобусов, стоимость билетов

За счет маленького расстояния от Амстердама не важно на чем ехать — на поезде или автобусе. Оба эти вида транспорта привезут вас на Центральный железнодорожный вокзал Утрехта

Центральный железнодорожный вокзал Утрехта находится в пешей досягаемости от центра города.

Replication

Forcing Replication re-runs

When forcing a replication run through gerrit’s replication plugin, stay clear of the switch, as it breaks renamed projects on github.

For example, both gerrit and github have a repository. But github’s repository is actually in gerrit. As gerrit also has a repository, forcing replication on all projects would push gerrit’s repository onto github’s repository. Thereby, github’s repository falls over, and for examples the release tags from github’s are gone (cf. task T100409).

This currently (2015-05-28) affects us for at least for the following repos:

Gerrit’s name Overloaded name on GitHub

If you by accident forced replication with , force replication of the effective gerrit repos to make up for it (i.e.: , , …)

Github

As of July 2018 replication to github requires a repository to be manually created on github using the naming scheme gerrit expects, i.e. replaced with (FrEx: -> .

Github owners will be able to create these repositories.

Once a repository is created, replication to that repo can be forced using the gerrit replication ssh command.

$ ssh -p 29418 gerrit.wikimedia.org replication start operations/debs/trafficserver --wait

Troubleshooting

The group must be allowed to read and for replication to GitHub to work. This is because it is currently set as the in inside inside the Gerrit repository home.

Additionally, the should be checked in addition to the for mention of anything that could be wrong with replication.

Any changes to should be followed with a restart of the gerrit service to ensure that those changes are active. There is a bug with the replication plugin where it will reload the (and acknowledge that the configuration has been reloaded in the logs), but actually operate with a broken configuration in an unknown state until a restart.

This setup is discouraged.

Maintenance of plugins

These plugins are made by different parties and maintained to varying degrees, therefore
the Gerrit project does not guarantee their reliability. However, many are reliable and
valuable integrations across Gerrit deployments. The matrix detailed below lists the
maintainers for every maintained plugin.

There is a parent component for plugin-specific components/issues in Monorail.

Community members are welcome to propose themselves as . This can be
done through the support list:

  1. Volunteering can be done for either plugins with no maintainers or plugins with just
    a few (or more) maintainers. Volunteering for unmaintained plugins is of course
    preferred. Maintainership comes with expectations and responsibilities.
  2. Maintainership is discussed privately by the current plugin maintainers, or the core
    if none.
  3. The resulting verdict is then shared within the initial proposal () thread.
    Both the initial (new maintainer) proposal and verdict are shared transparently thus
    professionally that way.

When there are no direct plugins maintainers, the Gerrit maintainers have the permissions
to review and merge changes. However, regular maintenance of such plugins is not guaranteed.

Step 4: Attach the H’s to the Seat

This is tricky. You might need 2 people and some glue and clamps. The seat needs to be angled slightly back like an adirondack chair, and that angle will be up to you. The seat attaches to the horizontal part of the H’s. I glued and screwed the H’s to the seat and countersunk my screws and filled them with wood putty. I used deck screws because, well, you’ll be sitting on it, and you don’t want it to crumble with your weight. The screw holes still show after staining it, but they add character. Then do the same with the backrest, leaving some space between the seat and the backrest, again glue and screw together.

Finally, screw on the arms. The arms are fun because on the right side of the chair, in the front, the screw will be on the right side, but on the back of the chair, the screw will be on the left. And on the left arm, in the front, the screw will be on the left side, but on the back of the chair, the screw will be on the right. This is due to the way the H is built with the overlapping slats. The width of your arm rests is limited by the width of your H.

Step 2: Dimensions

Hard to believe you can make such a sweet chair with so little wood.

For the sides of the chair, you’ll build them in an H shape, as shown in the picture. You will overlap the left side of the H over the horizontal piece of the H, while the right side piece will be behind the horizontal piece. That’s hard to say. Look at the picture of the H and do that. That will be the right side of your chair. The left side will be just the opposite.

DIMENSIONS FOR THE H’S:

The left and right sides of the H are 22 1/2″ X 6″ and you’ll need 4 of those.

The horizontal piece of the H is 25 1/2″ X 6″ and you’ll need 2 of those.

Now look at the Intro picture of the Rietveld chair. You’ll notice that the seat and the backrest look the same. That’s because they are!!! They are identical!!! Gerrit Rietveld was a genius.

The seat and the back rest are simply 3 pieces of wood slats held together by 2 thin strips of wood in the back. Easy peasy.

DIMENSIONS FOR THE SEAT AND BACKREST:

Cut 6 identical slats 17 3/4″ X 5 1/4″ and then cut 4 strips 18″ X 2″

DIMENSIONS FOR THE ARMRESTS:

Finally, the arm rests. You’ll need 2 of these, one for each arm. They are 25 1/2″ X 2 1/2″

Once all your cutting is done, you should sand lightly.

Экспериментальный дом Алвара Аалто

Годы постройки: 1952—1954
Место: остров Мууратсало, Финляндия
Материалы: кирпич, дерево, керамика

Летний дом — это своеобразная лаборатория архитектора, его испытательный полигон для проведения опытов. Дом находится в живописном месте на скалистом берегу озера, укрытом прибрежным лесом. Именно здесь финский модернист находит свободу для архитектурных экспериментов с материалами, строительными техниками и архитектурными формами.

Дом состоит из двух крыльев, в меньшем из которых расположена гостиная, а в главном находятся три спальни, кухня и столовая. Главной особенностью архитектурной композиции является двор с оборудованным местом для разведения огня. Две высокие белые кирпичные стены, напоминающие античные руины, дополняют картину. Вместе с крыльями дома эти стены окружают двор, делая пространство похожим на древнеримский атриум. Алвар Аалто вдохновлялся итальянской архитектурой. Он любил говорить, что каждый его проект начинался с путешествия в эту страну.

В своей творческой лаборатории Алвар Аалто экспериментировал с материалами, фундаментом и системой солнечного отопления. Архитектор поделил стены и пол двора на 50 фрагментов, различающихся типом кирпичей, способом их укладки и наличием керамических вставок. Это позволило Аалто проанализировать долговечность материалов и их реакцию на суровый климат.

Интерьер дома оформлен в типичном для Аалто стиле: белые оштукатуренные стены, обилие дерева в отделке, мебель из гнутой фанеры, яркий контрастный текстиль. Помимо основного строения, архитектурный ансамбль также включает в себя сарай, финскую баню и причал для катера, спроектированного лично архитектором.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector