• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. RBTools 5.x
    2. Version 5.x
    3. Version 4.x
    4. Version 3.x
    5. Version 2.0
    6. Version 1.0
    7. Version 0.7
    8. Version 0.6
    9. Version 0.5
    10. RBTools Python API
    11. Module and Class References
    12. rbtools.commands.land
  • Home
  • Installing RBTools
  • rbt Command
  • Configuration
  • Authenticating to Review Board
  • Repository Configuration
  • Per-User Configuration
  • Team Foundation Server Configuration
  • Commands
  • alias
  • api-get
  • attach
  • clear-cache
  • close
  • diff
  • install
  • land
  • list-repo-types
  • login
  • logout
  • patch
  • post
  • publish
  • review
  • setup-completion
  • setup-repo
  • stamp
  • status
  • status-update
  • RBTools Workflows
  • Using RBTools With Cliosoft SOS
  • Using RBTools with Git
  • Using RBTools with HCL VersionVault and IBM ClearCase
  • Using RBTools With Perforce
  • RBTools Python API
  • Overview of the Python API Client
  • Tutorial
  • Resource-Specific Functionality
  • Module and Class References
  • rbtools
  • rbtools.deprecation
  • rbtools.api
  • rbtools.api.cache
  • rbtools.api.capabilities
  • rbtools.api.client
  • rbtools.api.decode
  • rbtools.api.decorators
  • rbtools.api.errors
  • rbtools.api.factory
  • rbtools.api.request
  • rbtools.api.resource
  • rbtools.api.transport
  • rbtools.api.transport.sync
  • rbtools.api.utils
  • rbtools.clients
  • rbtools.clients.base
  • rbtools.clients.base.patch
  • rbtools.clients.base.registry
  • rbtools.clients.base.repository
  • rbtools.clients.base.scmclient
  • rbtools.clients.errors
  • rbtools.clients.bazaar
  • rbtools.clients.clearcase
  • rbtools.clients.cvs
  • rbtools.clients.git
  • rbtools.clients.mercurial
  • rbtools.clients.perforce
  • rbtools.clients.plastic
  • rbtools.clients.sos
  • rbtools.clients.svn
  • rbtools.clients.tfs
  • rbtools.config
  • rbtools.config.config
  • rbtools.config.loader
  • rbtools.diffs
  • rbtools.diffs.patches
  • rbtools.diffs.patcher
  • rbtools.diffs.tools
  • rbtools.diffs.tools.backends
  • rbtools.diffs.tools.backends.gnu
  • rbtools.diffs.tools.base
  • rbtools.diffs.tools.base.diff_file_result
  • rbtools.diffs.tools.base.diff_tool
  • rbtools.diffs.tools.errors
  • rbtools.diffs.tools.registry
  • rbtools.diffs.writers
  • rbtools.commands
  • rbtools.commands.main
  • rbtools.commands
  • rbtools.commands.base
  • rbtools.commands.base.commands
  • rbtools.commands.base.errors
  • rbtools.commands.base.options
  • rbtools.commands.base.output
  • rbtools.commands.alias
  • rbtools.commands.api_get
  • rbtools.commands.attach
  • rbtools.commands.clearcache
  • rbtools.commands.close
  • rbtools.commands.diff
  • rbtools.commands.info
  • rbtools.commands.install
  • rbtools.commands.land
  • rbtools.commands.list_repo_types
  • rbtools.commands.login
  • rbtools.commands.logout
  • rbtools.commands.patch
  • rbtools.commands.post
  • rbtools.commands.publish
  • rbtools.commands.review
  • rbtools.commands.setup_completion
  • rbtools.commands.setup_repo
  • rbtools.commands.stamp
  • rbtools.commands.status
  • rbtools.commands.status_update
  • rbtools.hooks
  • rbtools.hooks.common
  • rbtools.hooks.git
  • rbtools.testing
  • rbtools.testing.api
  • rbtools.testing.api.payloads
  • rbtools.testing.api.transport
  • rbtools.testing.commands
  • rbtools.testing.testcase
  • rbtools.testing.transport
  • rbtools.utils
  • rbtools.utils.aliases
  • rbtools.utils.browser
  • rbtools.utils.checks
  • rbtools.utils.commands
  • rbtools.utils.console
  • rbtools.utils.diffs
  • rbtools.utils.encoding
  • rbtools.utils.errors
  • rbtools.utils.filesystem
  • rbtools.utils.graphs
  • rbtools.utils.mimetypes
  • rbtools.utils.process
  • rbtools.utils.repository
  • rbtools.utils.review_request
  • rbtools.utils.source_tree
  • rbtools.utils.users
  • Glossary
  • General Index
  • Python Module Index
  • Release Notes
  • rbtools.commands.land¶

    Implementation of rbt land.

    Classes

    Land(transport_cls, stdout, stderr, stdin)

    Land changes from a review request onto the remote repository.

    class rbtools.commands.land.Land(transport_cls: type[Transport] = <class 'rbtools.api.transport.sync.SyncTransport'>, stdout: TextIO = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, stderr: TextIO = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, stdin: TextIO = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>)[source]¶

    Bases: BaseCommand

    Land changes from a review request onto the remote repository.

    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: ClassVar[str] = 'land'[source]¶

    The name of the command.

    Type:

    str

    author: ClassVar[str] = 'The Review Board Project'[source]¶

    The author of the command.

    Type:

    str

    needs_api: ClassVar[bool] = True[source]¶

    Whether the command needs the API client.

    If this is set, the initialization of the command will set api_client and api_root.

    New in version 3.0.

    Type:

    bool

    needs_scm_client: ClassVar[bool] = True[source]¶

    Whether the command needs the SCM client.

    If this is set, the initialization of the command will set repository_info and tool.

    New in version 3.0.

    Type:

    bool

    needs_repository: ClassVar[bool] = True[source]¶

    Whether the command needs the remote repository object.

    If this is set, the initialization of the command will set repository.

    Setting this will imply setting both needs_api and needs_scm_client to True.

    New in version 3.0.

    Type:

    bool

    args: ClassVar[str] = '[<branch-name>]'[source]¶

    Usage text for what arguments the command takes.

    Arguments for the command are anything passed in other than defined options (for example, revisions passed to rbt post).

    Type:

    str

    option_list: ClassVar[list[Union[Option, OptionGroup]]] = [<rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.Option object>, <rbtools.commands.base.options.OptionGroup object>, <rbtools.commands.base.options.OptionGroup object>, <rbtools.commands.base.options.OptionGroup object>][source]¶

    Command-line options for this command.

    Type:

    list of Option or OptionGroup

    patch(review_request_id, squash=False)[source]¶

    Patch a single review request’s diff using rbt patch.

    Parameters:
    • review_request_id (int) – The ID of the review request to patch.

    • squash (bool, optional) – Whether to squash multiple commits into a single commit.

    Raises:

    rbtools.commands.CommandError – There was an error applying the patch.

    can_land(review_request)[source]¶

    Determine if the review request is land-able.

    A review request can be landed if it is approved or, if the Review Board server does not keep track of approval, if the review request has a ship-it count.

    This function returns the error with landing the review request or None if it can be landed.

    land(destination_branch, review_request, source_branch=None, squash=False, edit=False, delete_branch=True, dry_run=False)[source]¶

    Land an individual review request.

    Parameters:
    • destination_branch (unicode) – The destination branch that the change will be committed or merged to.

    • review_request (rbtools.api.resource.ReviewRequestResource) – The review request containing the change to land.

    • source_branch (unicode, optional) – The source branch to land, if landing from a local branch.

    • squash (bool, optional) – Whether to squash the changes on the branch, for repositories that support it.

    • edit (bool, optional) – Whether to edit the commit message before landing.

    • delete_branch (bool, optional) – Whether to delete/close the branch, if landing from a local branch.

    • dry_run (bool, optional) – Whether to simulate landing without actually changing the repository.

    initialize()[source]¶

    Initialize the command.

    This overrides BaseCommand.initialize in order to handle full review request URLs on the command line. In this case, we want to parse that URL in order to pull the server name and review request ID out of it.

    Raises:

    rbtools.commands.CommandError – A review request URL passed in as the review request ID could not be parsed correctly or included a bad diff revision.

    main(branch_name: Optional[str] = None, *args) → None[source]¶

    Run the command.

    Parameters:

    branch_name (str, optional) – The branch name to land the change on.

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • Land
      • Land.name
      • Land.author
      • Land.needs_api
      • Land.needs_scm_client
      • Land.needs_repository
      • Land.args
      • Land.option_list
      • Land.patch()
      • Land.can_land()
      • Land.land()
      • Land.initialize()
      • Land.main()