Merge lp:~widelands-dev/widelands/string-fixes into lp:widelands

Proposed by GunChleoc
Status: Merged
Merged at revision: 8683
Proposed branch: lp:~widelands-dev/widelands/string-fixes
Merge into: lp:widelands
Diff against target: 291 lines (+40/-34)
17 files modified
data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua (+2/-2)
data/tribes/buildings/productionsites/frisians/ironmine/helptexts.lua (+8/-5)
data/tribes/buildings/productionsites/frisians/reed_farm/init.lua (+1/-1)
data/tribes/buildings/productionsites/frisians/rockmine/helptexts.lua (+7/-4)
data/tribes/buildings/productionsites/frisians/tavern/helptexts.lua (+1/-1)
data/tribes/buildings/productionsites/frisians/weaving_mill/helptexts.lua (+1/-1)
data/tribes/immovables/berry_bushes/strawberry/init.lua (+4/-4)
data/tribes/wares/fur/helptexts.lua (+1/-1)
data/tribes/wares/granite/helptexts.lua (+1/-1)
data/tribes/wares/kitchen_tools/helptexts.lua (+5/-5)
data/tribes/wares/ration/helptexts.lua (+1/-1)
data/tribes/wares/shovel/helptexts.lua (+1/-1)
data/tribes/wares/smoked_fish/helptexts.lua (+1/-1)
data/tribes/wares/smoked_meat/helptexts.lua (+1/-1)
data/tribes/workers/barbarians/baker/helptexts.lua (+1/-1)
data/tribes/workers/frisians/landlady/helptexts.lua (+1/-1)
data/txts/developers.json (+3/-3)
To merge this branch: bzr merge lp:~widelands-dev/widelands/string-fixes
Reviewer Review Type Date Requested Status
hessenfarmer Approve
Review via email: mp+345000@code.launchpad.net

Commit message

Various string fixes for tribes

To post a comment you must log in.
Revision history for this message
hessenfarmer (stephan-lutz) wrote :

1. see inline comment
2. I did a spotcheck of the helptexts and found multiple issues with the # sign in TRANSLATORS remarks not correctly implemented. Just checked a couple of frisian buildings where the ' is used in defined performance helptexts and not used in other buildings where undefined messages are in place. Found issues in the barbarians helptexts as well

review: Needs Fixing
Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 3444. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/374263196.
Appveyor build 3249. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_string_fixes-3249.

Revision history for this message
GunChleoc (gunchleoc) wrote :

1. I have answered inline
2. Agreed, but not in this merge request. I have created a new bug for it: https://bugs.launchpad.net/widelands/+bug/1768859

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

1. as far as I read the function in the helptexts.lua of the shovel the text will be either the default or the tribe Version not both.
2. Ok. Perhaps I'll take the bug this evening. Is there any rule of format where the # needs to be in the TRANSLATORS line?

Revision history for this message
GunChleoc (gunchleoc) wrote :

1. You can't see it locally. They are concatenated later in data/tribes/scripting/help. Just look at the shovel in-game, and you'll see it.

2. It needs to be there if there is no translatable string below it (no _, ngettext or pgettext).

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

1. have checked that sorry for the trouble.

2. What I meant should it be #TRANSLATORS or is it TRANSLATORS#

review: Approve
Revision history for this message
GunChleoc (gunchleoc) wrote :

2. Doesn't matter - you'll only need to remove the extra # where they are not wanted to activate the comments for translators. It should be

  -- TRANSLATORS:

Thanks for the review!

@bunnybot merge

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua'
--- data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua 2018-04-05 05:58:29 +0000
+++ data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua 2018-05-03 05:43:13 +0000
@@ -211,8 +211,8 @@
211 },211 },
212 },212 },
213 produce_12 = {213 produce_12 = {
214 -- TRANSLATORS: Completed/Skipped/Did not start forging needles because ...214 -- TRANSLATORS: Completed/Skipped/Did not start making needles because ...
215 descname = _"forging needles",215 descname = _"making needles",
216 actions = {216 actions = {
217 "return=skipped unless economy needs needles",217 "return=skipped unless economy needs needles",
218 "sleep=32000",218 "sleep=32000",
219219
=== modified file 'data/tribes/buildings/productionsites/frisians/ironmine/helptexts.lua'
--- data/tribes/buildings/productionsites/frisians/ironmine/helptexts.lua 2018-04-25 07:55:28 +0000
+++ data/tribes/buildings/productionsites/frisians/ironmine/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,15 +1,18 @@
1-- This include can be removed when all help texts have been defined.
2include "tribes/scripting/help/global_helptexts.lua"
3
1function building_helptext_lore ()4function building_helptext_lore ()
2 -- TRANSLATORS: Lore helptext for a building5 -- TRANSLATORS#: Lore helptext for a building
3 return pgettext ("frisians_building", "")6 return no_lore_text_yet()
4end7end
58
6function building_helptext_lore_author ()9function building_helptext_lore_author ()
7 -- TRANSLATORS: Lore author helptext for a building10 -- TRANSLATORS#: Lore author helptext for a building
8 return pgettext ("frisians_building", "")11 return no_lore_author_text_yet()
9end12end
1013
11function building_helptext_purpose()14function building_helptext_purpose()
12 -- TRANSLATORS#: Purpose helptext for a building15 -- TRANSLATORS: Purpose helptext for a building
13 return pgettext("building", "Digs iron ore out of the ground in mountain terrain.")16 return pgettext("building", "Digs iron ore out of the ground in mountain terrain.")
14end17end
1518
1619
=== modified file 'data/tribes/buildings/productionsites/frisians/reed_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/reed_farm/init.lua 2018-02-23 07:18:54 +0000
+++ data/tribes/buildings/productionsites/frisians/reed_farm/init.lua 2018-05-03 05:43:13 +0000
@@ -79,7 +79,7 @@
79 -- Translators: Short for "Out of ..." for a resource79 -- Translators: Short for "Out of ..." for a resource
80 title = _"No Fields",80 title = _"No Fields",
81 heading = _"Out of Fields",81 heading = _"Out of Fields",
82 message = pgettext("frisians_building", "The farmer working at this reed farm has no cleared soil to plant his seeds."),82 message = pgettext("frisians_building", "The reed farmer working at this reed farm has no cleared soil to plant his seeds."),
83 productivity_threshold = 2083 productivity_threshold = 20
84 },84 },
85}85}
8686
=== modified file 'data/tribes/buildings/productionsites/frisians/rockmine/helptexts.lua'
--- data/tribes/buildings/productionsites/frisians/rockmine/helptexts.lua 2018-04-25 07:55:28 +0000
+++ data/tribes/buildings/productionsites/frisians/rockmine/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,11 +1,14 @@
1-- This include can be removed when all help texts have been defined.
2include "tribes/scripting/help/global_helptexts.lua"
3
1function building_helptext_lore ()4function building_helptext_lore ()
2 -- TRANSLATORS: Lore helptext for a building5 -- TRANSLATORS#: Lore helptext for a building
3 return pgettext ("frisians_building", "")6 return no_lore_text_yet()
4end7end
58
6function building_helptext_lore_author ()9function building_helptext_lore_author ()
7 -- TRANSLATORS: Lore author helptext for a building10 -- TRANSLATORS#: Lore author helptext for a building
8 return pgettext ("frisians_building", "")11 return no_lore_author_text_yet()
9end12end
1013
11function building_helptext_purpose()14function building_helptext_purpose()
1215
=== modified file 'data/tribes/buildings/productionsites/frisians/tavern/helptexts.lua'
--- data/tribes/buildings/productionsites/frisians/tavern/helptexts.lua 2018-02-17 15:41:29 +0000
+++ data/tribes/buildings/productionsites/frisians/tavern/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -20,5 +20,5 @@
2020
21function building_helptext_performance()21function building_helptext_performance()
22 -- TRANSLATORS#: Performance helptext for a building22 -- TRANSLATORS#: Performance helptext for a building
23 return pgettext("frisians_building", "The tavern can produce one ration in %s on average if the supply is steady; otherwise, it will take 50 percent longer."):bformat(ngettext("%d second", "%d seconds", 33):bformat(33))23 return pgettext("frisians_building", "The tavern can produce one ration in %s on average if the supply is steady; otherwise, it will take 50%% longer."):bformat(ngettext("%d second", "%d seconds", 33):bformat(33))
24end24end
2525
=== modified file 'data/tribes/buildings/productionsites/frisians/weaving_mill/helptexts.lua'
--- data/tribes/buildings/productionsites/frisians/weaving_mill/helptexts.lua 2018-04-25 07:55:28 +0000
+++ data/tribes/buildings/productionsites/frisians/weaving_mill/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -5,7 +5,7 @@
55
6function building_helptext_lore_author()6function building_helptext_lore_author()
7 -- TRANSLATORS: Lore author helptext for a building7 -- TRANSLATORS: Lore author helptext for a building
8 return pgettext("frisians_building", "A seamstress’s work song")8 return pgettext("frisians_building", "A seamstress’ work song")
9end9end
1010
11function building_helptext_purpose()11function building_helptext_purpose()
1212
=== modified file 'data/tribes/immovables/berry_bushes/strawberry/init.lua'
--- data/tribes/immovables/berry_bushes/strawberry/init.lua 2018-02-17 15:41:29 +0000
+++ data/tribes/immovables/berry_bushes/strawberry/init.lua 2018-05-03 05:43:13 +0000
@@ -10,7 +10,7 @@
10tribes:new_immovable_type {10tribes:new_immovable_type {
11 msgctxt = "immovable",11 msgctxt = "immovable",
12 name = "berry_bush_strawberry_tiny",12 name = "berry_bush_strawberry_tiny",
13 descname = _ "Strawberry Bush (tiny)",13 descname = _ "Strawberries (tiny)",
14 size = "small",14 size = "small",
15 helptext_script = dirname .. "helptexts.lua",15 helptext_script = dirname .. "helptexts.lua",
16 attributes = { "seed_berrybush" },16 attributes = { "seed_berrybush" },
@@ -34,7 +34,7 @@
34tribes:new_immovable_type {34tribes:new_immovable_type {
35 msgctxt = "immovable",35 msgctxt = "immovable",
36 name = "berry_bush_strawberry_small",36 name = "berry_bush_strawberry_small",
37 descname = _ "Strawberry Bush (small)",37 descname = _ "Strawberries (small)",
38 size = "small",38 size = "small",
39 helptext_script = dirname .. "helptexts.lua",39 helptext_script = dirname .. "helptexts.lua",
40 attributes = {},40 attributes = {},
@@ -58,7 +58,7 @@
58tribes:new_immovable_type {58tribes:new_immovable_type {
59 msgctxt = "immovable",59 msgctxt = "immovable",
60 name = "berry_bush_strawberry_medium",60 name = "berry_bush_strawberry_medium",
61 descname = _ "Strawberry Bush (medium)",61 descname = _ "Strawberries (medium)",
62 size = "small",62 size = "small",
63 helptext_script = dirname .. "helptexts.lua",63 helptext_script = dirname .. "helptexts.lua",
64 attributes = { "flowering" },64 attributes = { "flowering" },
@@ -82,7 +82,7 @@
82tribes:new_immovable_type {82tribes:new_immovable_type {
83 msgctxt = "immovable",83 msgctxt = "immovable",
84 name = "berry_bush_strawberry_ripe",84 name = "berry_bush_strawberry_ripe",
85 descname = _ "Strawberry Bush (ripe)",85 descname = _ "Strawberries (ripe)",
86 size = "small",86 size = "small",
87 helptext_script = dirname .. "helptexts.lua",87 helptext_script = dirname .. "helptexts.lua",
88 attributes = { "ripe_bush" },88 attributes = { "ripe_bush" },
8989
=== modified file 'data/tribes/wares/fur/helptexts.lua'
--- data/tribes/wares/fur/helptexts.lua 2017-08-19 16:02:04 +0000
+++ data/tribes/wares/fur/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,7 +1,7 @@
1function ware_helptext(tribe)1function ware_helptext(tribe)
2 local helptext = {2 local helptext = {
3 -- TRANSLATORS: Helptext for a ware: Fur3 -- TRANSLATORS: Helptext for a ware: Fur
4 frisians = pgettext("frisians_ware", "Fur is won from reindeer in a reindeer farm. It is spun into cloth or turned into fur garments for soldiers."),4 frisians = pgettext("frisians_ware", "Fur is won from reindeer in a reindeer farm. It is woven into cloth or turned into fur garments for soldiers."),
5 }5 }
6 local result = ""6 local result = ""
7 if tribe then7 if tribe then
88
=== modified file 'data/tribes/wares/granite/helptexts.lua'
--- data/tribes/wares/granite/helptexts.lua 2017-06-27 16:18:40 +0000
+++ data/tribes/wares/granite/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -7,7 +7,7 @@
7 -- TRANSLATORS: Helptext for a ware: Granite7 -- TRANSLATORS: Helptext for a ware: Granite
8 barbarians = pgettext("barbarians_ware", "The Barbarians produce granite blocks in quarries and granite mines."),8 barbarians = pgettext("barbarians_ware", "The Barbarians produce granite blocks in quarries and granite mines."),
9 -- TRANSLATORS: Helptext for a ware: Granite9 -- TRANSLATORS: Helptext for a ware: Granite
10 frisians = pgettext("frisians_ware", "The Frisians produce granite blocks in quarries and granite mines. They can be refined by a brick burner."),10 frisians = pgettext("frisians_ware", "The Frisians produce granite blocks in quarries and rock mines. They can be refined by a brick burner."),
11 -- TRANSLATORS: Helptext for a ware: Granite11 -- TRANSLATORS: Helptext for a ware: Granite
12 empire = pgettext("empire_ware", "The Empire produces granite blocks in quarries and marble mines.")12 empire = pgettext("empire_ware", "The Empire produces granite blocks in quarries and marble mines.")
13 }13 }
1414
=== modified file 'data/tribes/wares/kitchen_tools/helptexts.lua'
--- data/tribes/wares/kitchen_tools/helptexts.lua 2018-02-17 15:48:54 +0000
+++ data/tribes/wares/kitchen_tools/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,11 +1,11 @@
1function ware_helptext(tribe)1function ware_helptext(tribe)
2 local helptext = {2 local helptext = {
3 -- TRANSLATORS: Helptext for a ware: Kitchen Tools3 -- TRANSLATORS: Helptext for a ware: Kitchen Tools
4 barbarians = pgettext("barbarians_ware", "How can one create a meal, snack or ration, if there are no kitchen tools? Be sure to have a metal workshop to produce this basic tool (but it ceases to be produced by the building if it is enhanced to an ax workshop and war mill)."),4 barbarians = pgettext("barbarians_ware", "Kitchen tools are needed for preparing rations, snacks and meals. Be sure to have a metal workshop to produce this basic tool (but it ceases to be produced by the building if it is enhanced to an ax workshop and war mill)."),
5 -- TRANSLATORS: Helptext for a ware: Kitchen Tools5 -- TRANSLATORS: Helptext for a ware: Kitchen Tools
6 frisians = pgettext("frisians_ware", "How can one create a meal or ration, if there are no kitchen tools? The smoker also needs them."),6 frisians = pgettext("frisians_ware", "Kitchen tools are needed for preparing rations and meals. The smoker also needs them."),
7 -- TRANSLATORS: Helptext for a ware: Kitchen Tools7 -- TRANSLATORS: Helptext for a ware: Kitchen Tools
8 empire = pgettext("empire_ware", "How can one create a ration or meal if there are no kitchen tools? They are produced in a toolsmithy and used in taverns and inns.")8 empire = pgettext("empire_ware", "Kitchen tools are needed for preparing rations and meals. They are produced in a toolsmithy and used in taverns and inns.")
9 }9 }
10 local result = ""10 local result = ""
11 if tribe then11 if tribe then
1212
=== modified file 'data/tribes/wares/ration/helptexts.lua'
--- data/tribes/wares/ration/helptexts.lua 2017-07-07 16:51:39 +0000
+++ data/tribes/wares/ration/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -7,7 +7,7 @@
7 -- TRANSLATORS: Helptext for a ware: Ration7 -- TRANSLATORS: Helptext for a ware: Ration
8 empire = pgettext("empire_ware", "Rations are produced in a tavern out of fish or meat or bread."),8 empire = pgettext("empire_ware", "Rations are produced in a tavern out of fish or meat or bread."),
9 -- TRANSLATORS: Helptext for a ware: Ration9 -- TRANSLATORS: Helptext for a ware: Ration
10 frisians = pgettext("frisians_ware", "They are produced in taverns and drinking halls out of beer and something to eat: Fruit, smoked meat or fish or bread.")10 frisians = pgettext("frisians_ware", "Rations are produced in taverns and drinking halls out of beer and something to eat: Fruit, smoked meat or fish or bread.")
11 }11 }
12 local result = ""12 local result = ""
13 if tribe then13 if tribe then
1414
=== modified file 'data/tribes/wares/shovel/helptexts.lua'
--- data/tribes/wares/shovel/helptexts.lua 2017-07-07 16:51:39 +0000
+++ data/tribes/wares/shovel/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -9,7 +9,7 @@
9 -- TRANSLATORS: Helptext for a ware: Shovel9 -- TRANSLATORS: Helptext for a ware: Shovel
10 empire = pgettext("empire_ware", "Therefore the forester and the vine farmer use them. They are produced by the toolsmith."),10 empire = pgettext("empire_ware", "Therefore the forester and the vine farmer use them. They are produced by the toolsmith."),
11 -- TRANSLATORS: Helptext for a ware: Shovel11 -- TRANSLATORS: Helptext for a ware: Shovel
12 frisians = pgettext("frisians_ware", "They are used by berry and reed farmers as well as foresters. Diggers also need them to dig mud out of hard soil.")12 frisians = pgettext("frisians_ware", "They are used by berry and reed farmers as well as foresters. Brickmakers also need them to dig mud out of hard soil.")
13 }13 }
14 local result = ""14 local result = ""
15 if tribe then15 if tribe then
1616
=== modified file 'data/tribes/wares/smoked_fish/helptexts.lua'
--- data/tribes/wares/smoked_fish/helptexts.lua 2017-07-23 10:20:05 +0000
+++ data/tribes/wares/smoked_fish/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -3,7 +3,7 @@
3 -- TRANSLATORS: Helptext for a ware: Smoked Fish3 -- TRANSLATORS: Helptext for a ware: Smoked Fish
4 atlanteans = pgettext("atlanteans_ware", "As no Atlantean likes raw fish, smoking it in a smokery is the most common way to make it edible."),4 atlanteans = pgettext("atlanteans_ware", "As no Atlantean likes raw fish, smoking it in a smokery is the most common way to make it edible."),
5 -- TRANSLATORS: Helptext for a ware: Smoked Fish5 -- TRANSLATORS: Helptext for a ware: Smoked Fish
6 frisians = pgettext("frisians_ware", "Fish is smoked in a smokery. Smoked fish is then consumed by soldiers in training or turned into rations and meals for miners.")6 frisians = pgettext("frisians_ware", "Fish is smoked in a smokery. Smoked fish is then consumed by soldiers in training or turned into rations and meals for miners and scouts.")
7 }7 }
8 local result = ""8 local result = ""
9 if tribe then9 if tribe then
1010
=== modified file 'data/tribes/wares/smoked_meat/helptexts.lua'
--- data/tribes/wares/smoked_meat/helptexts.lua 2017-07-23 10:20:05 +0000
+++ data/tribes/wares/smoked_meat/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -3,7 +3,7 @@
3 -- TRANSLATORS: Helptext for a ware: Smoked Meat3 -- TRANSLATORS: Helptext for a ware: Smoked Meat
4 atlanteans = pgettext("atlanteans_ware", "Smoked meat is made out of meat in a smokery. It is delivered to the mines and training sites (labyrinth and dungeon) where the miners and soldiers prepare a nutritious lunch for themselves."),4 atlanteans = pgettext("atlanteans_ware", "Smoked meat is made out of meat in a smokery. It is delivered to the mines and training sites (labyrinth and dungeon) where the miners and soldiers prepare a nutritious lunch for themselves."),
5 -- TRANSLATORS: Helptext for a ware: Smoked Meat5 -- TRANSLATORS: Helptext for a ware: Smoked Meat
6 frisians = pgettext("frisians_ware", "Meat is smoked in a smokery. Smoked meat is then consumed by soldiers in training or turned into rations and meals for miners.")6 frisians = pgettext("frisians_ware", "Meat is smoked in a smokery. Smoked meat is then consumed by soldiers in training or turned into rations and meals for miners and scouts.")
7 }7 }
8 local result = ""8 local result = ""
9 if tribe then9 if tribe then
1010
=== modified file 'data/tribes/workers/barbarians/baker/helptexts.lua'
--- data/tribes/workers/barbarians/baker/helptexts.lua 2015-10-31 12:11:44 +0000
+++ data/tribes/workers/barbarians/baker/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,4 +1,4 @@
1function worker_helptext()1function worker_helptext()
2 -- TRANSLATORS: Helptext for a worker: Baker2 -- TRANSLATORS: Helptext for a worker: Baker
3 return pgettext("barbarians_worker", "Bakes pitta bread for the miners.")3 return pgettext("barbarians_worker", "Bakes pitta bread for the miners, soldiers and scouts.")
4end4end
55
=== modified file 'data/tribes/workers/frisians/landlady/helptexts.lua'
--- data/tribes/workers/frisians/landlady/helptexts.lua 2017-07-07 16:51:39 +0000
+++ data/tribes/workers/frisians/landlady/helptexts.lua 2018-05-03 05:43:13 +0000
@@ -1,4 +1,4 @@
1function worker_helptext()1function worker_helptext()
2 -- TRANSLATORS: Helptext for a worker: Landlady2 -- TRANSLATORS: Helptext for a worker: Landlady
3 return pgettext("frisians_worker", "Prepares rations and meals for miners.")3 return pgettext("frisians_worker", "Prepares rations and meals for miners and scouts.")
4end4end
55
=== modified file 'data/txts/developers.json'
--- data/txts/developers.json 2018-03-26 19:24:21 +0000
+++ data/txts/developers.json 2018-05-03 05:43:13 +0000
@@ -222,7 +222,7 @@
222 "image": "images/ui_basic/ls_wlmap.png",222 "image": "images/ui_basic/ls_wlmap.png",
223 "entries":[223 "entries":[
224 {224 {
225 "subheading": "Barbarian",225 "subheading": "Barbarians",
226 "members":[226 "members":[
227 "Bastian Rapp",227 "Bastian Rapp",
228 "Alexander Kahl (wolfpac)",228 "Alexander Kahl (wolfpac)",
@@ -237,14 +237,14 @@
237 ]237 ]
238 },238 },
239 {239 {
240 "subheading": "Atlantean",240 "subheading": "Atlanteans",
241 "members":[241 "members":[
242 "Holger Rapp (SirVer)",242 "Holger Rapp (SirVer)",
243 "Peter Schwanemann (Nasenbaer)"243 "Peter Schwanemann (Nasenbaer)"
244 ]244 ]
245 },245 },
246 {246 {
247 "subheading": "Frisian",247 "subheading": "Frisians",
248 "members":[248 "members":[
249 "Benedikt Straub (Nordfriese)"249 "Benedikt Straub (Nordfriese)"
250 ]250 ]

Subscribers

People subscribed via source and target branches

to status/vote changes: