# Copyright 2026 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

#### CATEGORY=Source tree
#### EXECUTABLE=${FUCHSIA_DIR}/tools/devshell/worktree/main.py
#### PREBUILTS=${PREBUILT_PYTHON3}
### Manage Fuchsia worktrees
## usage: fx worktree <subcommand> [args]
##
## Subcommands:
##   locate      Locate a worktree by name
##   list        List all worktrees
##   add         Add a worktree
##   remove      Remove a worktree
##   lease       Lease a worktree
##   release     Release a leased worktree
