Package: repoload
Repoload - a change request download toolrepoloadis a commandline tool, written in python3, that should make your
life and daily work with therepo tooland thegerrit review
systemmore pleasant.repoloadhas currently only a very limited set of functionalities and a lot
ofTODOSin the code, but it's already useful. The possibility to download
multiple CRs (Change Requests) by naming the crossrepo topic is themust-havefeature, because it's not supported byrepoitself.The full feature list is:Query gerrit for open CRsQuery gerrit for open topic namesDownload a CR or multiple CRs linked by a topic at once.It also works with gerrit using theautosubmitter plugin.UsageBefore usingrepoloadyou have to install the script and configure the gerrit
server URL. See below.The primary use case ofrepoloadis to easily checkoutcrossrepo/CRs
(Change Requests) from gerrit.Example:# Change directory into the repo checkout
 $ cd to/repo/checkout

 # Bring your repo checkout into a consistent state
 # Beware: 'repo sync' maybe drops your local modifications without a warning
 # Backup your code changes!
 $ repo sync

 # Query the gerrit server for open CRs
 # You can use `grep` to filter for your coworker's CRs
 $ repoload changes | grep -i john
 123: Add feature A (Jon Doe <john.doe@my.corp.com>) [topic: crossrepo/feature-a]
 128: Update library for feature A (John Doe <john.doe@my.corp.com>) [topic: crossrepo/feature-a]
 [...]

 # For downloading all CRs linked by a topic, just use the topic name
 $ repload download crossrepo/feature-a

 # For downloading only a single CR, use the CR number
 $ repload download 123

 # Build, test and have fun.Allrepoloadcommands have an abbreviation:$ repoload c     # for 'changes'
 $ repoload t     # for 'topics'
 $ repoload d     # for 'download'For further information see:$ repoload --help
 $ repoload download --help    # and so forthInstallationThe installation ofrepoloadis possible over PyPI or by directly using the
python script.PyPI:$ python3 -m pip install --user repoloadTo manually install the self containedrepoload.pypython script. Just drop
the file in a folder that your environment variablePATHreferences.Example:$ mkdir -p ~/bin
$ cp repoload/repoload.py ~/bin/repoload
$ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
$ chmod +x ~/bin/repoload  # ensure that the script is executeableAfter that the commandrepoloadshould be available in a newly started shell
and the command$ repoload changesshould print a list of open change requests.Repoload looks for the manifest repository configuration file to determine the
URL of the Gerrit server. It works automatically if the current working
directory is below arepocheckout. Alternatively, the environment variableANDROID_BUILD_TOPcan be set to the directory where arepocheckout is
located. Finally, the URL can be set directly via the environment variableGERRIT_URL.Create and publish a releaseTo create a release of repoload additional packaging dependency's are needed:$ python3 -m pip install --user --upgrade twine setuptools wheelNext the release which is described in the setup.py file gets packaged.
The version number is taken from the repoload/repoload.py__VERSION__string.$ python3 setup.py sdist bdist_wheelAs final step the release can be uploaded to PyPI.
See the PyPI documentation on how to configure the credentials for twine.$ python3 -m twine upload dist/*LicenseThe code is licensed under theMIT License.
See the fileCOPYING.ContributionThe project is open for contribution. Open a github pull request or send a
patch via email. If you take the patch route, you can find our mail addresses
in the git history easily.Please add aSigned-off-bytag in the commit/patch message to state the
copyright ownership and license information of your patch. ReadDeveloper
Certificate of Origin v1.1to understand
the meaning and obligations your are taking by adding your sign-off. Thanks in
advance.