From 9b9a5f306aa6a029625dfca28e617c0135dd032b Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 26 May 2020 13:34:09 +0200 Subject: [PATCH] CONTRIBUTING.md: Explain what the icingabot does --- CONTRIBUTING.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0ba60a3..86edd43a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,3 +39,44 @@ and include the following files in it: * `src/ll_CC/LC_MESSAGES/icinga.po` * `locale/ll_CC/LC_MESSAGES/icinga.po` * `locale/ll_CC/LC_MESSAGES/icinga.mo` + +## Keeping Pull Requests up-to-date + +As mentioned above, the master branch gets updated frequently. Once new messages get +introduced in a linked repository (such as Icinga Web 2) the template and source catalogs +will be updated. To get these new messages into your fork, just update it with our current +master. Github also lets you update your pull request right from the UI. + +Though, sooner or later you will get conflicts, and a simple update of your pull request +is not possible anymore. You need to resolve the conflicts first then, in order to update. + +Our source catalogs however are huge. A few conflicts may be fixable by hand, but many of +them can be a pain. We don't recommend fixing conflicts by hand, but provide a bot which +will take care of them automatically. + +If you want the bot to resolve source catalog conflicts and update your pull request, +just add a label of the following to it: + +* ![automatic conflict resolution (UTC-8)](https://img.shields.io/badge/-automatic%20conflict%20resolution%20(UTC--8)-1808a8) +* ![automatic conflict resolution (UTC-4)](https://img.shields.io/badge/-automatic%20conflict%20resolution%20(UTC--4)-1808a8) +* ![automatic conflict resolution (UTC)](https://img.shields.io/badge/-automatic%20conflict%20resolution%20(UTC)-1808a8) +* ![automatic conflict resolution (UTC+4)](https://img.shields.io/badge/-automatic%20conflict%20resolution%20(UTC%2B4)-1808a8) +* ![automatic conflict resolution (UTC+8)](https://img.shields.io/badge/-automatic%20conflict%20resolution%20(UTC%2B8)-1808a8) + +Each label has a timezone designation which defines when the bot will be active on your +pull request. Choose the label which fits your own timezone best, and the bot will then +update your pull request at/around midnight. + +Choosing a proper label is important. Once you enable the bot, it's not only you anymore +who's working on the pull request. It's then also the bot which is adding commits. To +avoid conflicts in your working tree, it is recommended to pull the remote branch first +before continuing with the translation. The labels let you control when the bot will add +commits, which should be a time when *you* won't add commits. (That's why the bot runs +at/around midnight) + +If the bot is active, your general workflow should be the following: + +* Pull your own fork/branch +* Do some translations +* Commit **and push** your changes +* Repeat above on the next day \ No newline at end of file