This folder provides tools that are useful for managing factory repo and factory flow.
download_patch.py
When we are releasing factory toolkit or bundle, sometimes, especially in early build phase, we need to cherry-pick some workarounds that haven't / cannot be merged into ToT. Manually cherry picking these workarounds is a tedious process, this tool helps you automate the process.
This tool uses topic
or hashtag
to filter changes on Gerrit. Each change can only have one topic but can have multiple hashtags.
There are three ways you can set topic of a change:
https://crosreview.com/<CL>
, change the topic field manually.repo upload -t
(use branch name as topic)gerrit topic abc 439944
There are three ways you can set hashtags on a change:
https://crosreview.com/<CL>
, change the hashtag field manually.repo upload -o hashtag=<hashtag>
gerrit sethashtags <CL> tag_to_add ~tag_to_remove ...
git stash # you cannot cherry-pick CLs if there are unstaged changes # First of all, download unmerged changes that fix download_patch.py. py/tools/download_patch.py --hashtag fix-download-patch
Above command downloads changes with hashtag fix-download-patch
on Gerrit in factory repository. The following things will happen:
cros/main
(the remote main branch) of factory repo.fix-download-patch
from Gerrit. The program tries its best to resolve dependencies between each changes.py/tools/download_patch.py --topic spring-factory --board spring \ --branch factory-spring-4262.B
Above command will perform the following steps:
cros/factory-spring-4262.B
spring-factory
on branch factory-spring-4262.B
.cros/factory-spring-4262.B
spring-factory
on branch factory-spring-4262.B
.If both topic
and hashtag
are provided, this will limit the program to download changes has given topic
and given hashtag
. Currently, we don't support multiple hashtags (disjunction nor conjunction).