Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
This command takes a review request, applies it to a feature branch,
merges it with the specified destination branch, and pushes the
changes to an upstream repository.
Notes:
The review request needs to be approved first.
``--local`` option can be used to skip the patching step.
"""
name = 'land'
author = 'The Review Board Project'
args = '[]'
option_list = [
Option('--dest',
dest='destination_branch',
default=None,
config_key='LAND_DEST_BRANCH',
help='Specifies the destination branch to land changes on.'),
Option('-r', '--review-request-id',
dest='rid',
metavar='ID',
default=None,
help='Specifies the review request ID.'),
Option('--local',
dest='is_local',
action='store_true',
default=None,
help='Forces the change to be merged without patching, if '
'merging a local branch. Defaults to true unless '
'--review-request-id is used.'),
help='Commits using information fetched '
'from the review request (Git/Mercurial only). '
'This differs from --commit by not invoking the editor '
'to modify the commit message.'),
Option('--diff-revision',
dest='diff_revision',
metavar='REVISION',
default=None,
help='The Review Board diff revision ID to use for the patch.'),
Option('--px',
dest='px',
metavar='NUM',
default=None,
help="Strips the given number of paths from filenames in the "
"diff. Equivalent to patch's `-p` argument."),
Option('--print',
dest='patch_stdout',
action='store_true',
default=False,
help='Prints the patch to standard output instead of applying '
'it to the tree.',
added_in='0.5.3'),
Option('-R', '--revert',
dest='revert_patch',
action='store_true',
default=False,
help='Revert the given patch instead of applying it.\n'
'This feature does not work with Bazaar or Mercurial '
'repositories.',
added_in='0.7.3'),
Command.server_options,
Command.repository_options,
GUESS_AUTO = 'auto'
GUESS_YES = 'yes'
GUESS_NO = 'no'
GUESS_YES_INPUT_VALUES = (True, 'yes', 1, '1')
GUESS_NO_INPUT_VALUES = (False, 'no', 0, '0')
GUESS_CHOICES = (GUESS_AUTO, GUESS_YES, GUESS_NO)
option_list = [
OptionGroup(
name='Posting Options',
description='Controls the behavior of a post, including what '
'review request gets posted and how, and what '
'happens after it is posted.',
option_list=[
Option('-u', '--update',
dest='update',
action='store_true',
default=False,
help='Automatically determines the existing review '
'request to update.',
added_in='0.5.3'),
Option('-r', '--review-request-id',
dest='rid',
metavar='ID',
default=None,
help='Specifies the existing review request ID to '
'update.'),
Option('-p', '--publish',
dest='publish',
action='store_true',
default=False,
default=None,
help='The Review Board diff revision ID to use for the patch.'),
Option('--px',
dest='px',
metavar='NUM',
default=None,
help="Strips the given number of paths from filenames in the "
"diff. Equivalent to patch's `-p` argument."),
Option('--print',
dest='patch_stdout',
action='store_true',
default=False,
help='Prints the patch to standard output instead of applying '
'it to the tree.',
added_in='0.5.3'),
Option('-R', '--revert',
dest='revert_patch',
action='store_true',
default=False,
help='Revert the given patch instead of applying it.\n'
'This feature does not work with Bazaar or Mercurial '
'repositories.',
added_in='0.7.3'),
Command.server_options,
Command.repository_options,
]
def get_patch(self, request_id, api_root, diff_revision=None):
"""Return the diff as a string, the used diff revision and its basedir.
If a diff revision is not specified, then this will look at the most
recent diff.
'landing the change.'),
Option('--delete-branch',
dest='delete_branch',
action='store_true',
config_key='LAND_DELETE_BRANCH',
default=True,
help="Deletes the local branch after it's landed. Only used if "
"landing a local branch. This is the default."),
Option('--no-delete-branch',
dest='delete_branch',
action='store_false',
config_key='LAND_DELETE_BRANCH',
default=True,
help="Prevents the local branch from being deleted after it's "
"landed."),
Option('--dry-run',
dest='dry_run',
action='store_true',
default=False,
help='Simulates the landing of a change, without actually '
'making any changes to the tree.'),
Option('--recursive',
dest='recursive',
action='store_true',
default=False,
help='Recursively fetch patches for review requests that the '
'specified review request depends on. This is equivalent '
'to calling "rbt patch" for each of those review '
'requests.',
added_in='1.0'),
Command.server_options,
Command.repository_options,
dest='description',
metavar='TEXT',
default=None,
help='The new contents for the Description field.'),
Option('--description-file',
dest='description_file',
default=None,
metavar='FILENAME',
help='A text file containing the new contents for the '
'Description field.'),
Option('--testing-done',
dest='testing_done',
metavar='TEXT',
default=None,
help='The new contents for the Testing Done field.'),
Option('--testing-done-file',
dest='testing_file',
default=None,
metavar='FILENAME',
help='A text file containing the new contents for the '
'Testing Done field.'),
Option('--branch',
dest='branch',
config_key='BRANCH',
metavar='BRANCH',
default=None,
help='The branch the change will be committed on or '
'affects. This is a free-form field and does not '
'control any behavior.'),
Option('--bugs-closed',
dest='bugs_closed',
metavar='BUG_ID[,...]',
Option('--branch',
dest='branch',
config_key='BRANCH',
default=None,
help='The branch the change will be committed on.'),
Option('--bugs-closed',
dest='bugs_closed',
default=None,
help='The comma-separated list of bug IDs closed.'),
Option('--target-groups',
dest='target_groups',
config_key='TARGET_GROUPS',
default=None,
help='The names of the groups that should perform the '
'review.'),
Option('--target-people',
dest='target_people',
config_key='TARGET_PEOPLE',
default=None,
help='The usernames of the people who should perform '
'the review.'),
Option('--depends-on',
dest='depends_on',
config_key='DEPENDS_ON',
default=None,
help='The new contents for the Depends On field.'),
Option('--markdown',
dest='markdown',
action='store_true',
config_key='MARKDOWN',
default=False,
help='Specifies if the summary and description should '
help='A text file containing the new contents for the '
'Testing Done field.'),
Option('--branch',
dest='branch',
config_key='BRANCH',
metavar='BRANCH',
default=None,
help='The branch the change will be committed on or '
'affects. This is a free-form field and does not '
'control any behavior.'),
Option('--bugs-closed',
dest='bugs_closed',
metavar='BUG_ID[,...]',
default=None,
help='The comma-separated list of bug IDs closed.'),
Option('--target-groups',
dest='target_groups',
config_key='TARGET_GROUPS',
metavar='NAME[,...]',
default=None,
help='The names of the groups that should perform the '
'review.'),
Option('--target-people',
dest='target_people',
metavar='USERNAME[,...]',
config_key='TARGET_PEOPLE',
default=None,
help='The usernames of the people who should perform '
'the review.'),
Option('--depends-on',
dest='depends_on',
config_key='DEPENDS_ON',
name = 'land'
author = 'The Review Board Project'
args = '[]'
option_list = [
Option('--dest',
dest='destination_branch',
default=None,
config_key='LAND_DEST_BRANCH',
help='Specifies the destination branch to land changes on.'),
Option('-r', '--review-request-id',
dest='rid',
metavar='ID',
default=None,
help='Specifies the review request ID.'),
Option('--local',
dest='is_local',
action='store_true',
default=None,
help='Forces the change to be merged without patching, if '
'merging a local branch. Defaults to true unless '
'--review-request-id is used.'),
Option('-p', '--push',
dest='push',
action='store_true',
default=False,
config_key='LAND_PUSH',
help='Pushes the branch after landing the change.'),
Option('-n', '--no-push',
dest='push',
action='store_false',
default=False,
from rbtools.api.cache import clear_cache
from rbtools.commands import Command, Option
class ClearCache(Command):
"""Delete the HTTP cache used for the API."""
name = 'clear-cache'
author = 'The Review Board Project'
description = 'Delete the HTTP cache used for the API.'
option_list = [
Option('--cache-location',
dest='cache_location',
metavar='FILE',
config_key='CACHE_LOCATION',
default=None,
help='The file to use for the API cache database.',
added_in='0.7.3'),
]
def main(self):
"""Unlink the API cache's path."""
if self.options.cache_location:
clear_cache(self.options.cache_location)
else:
clear_cache()