Spracherkennung für: .md vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
# Repo LSC (Large Scale Change)
`repo_lsc` is a command-line tool for creating and managing large scale changes across multiple repositories in the Android tree. It automates the process of creating branches, committing files, and uploading changes for review.
## Workflow
The intended workflow for using `repo_lsc` is as follows:
1. **Start with a clean tree:** Before making any changes, ensure your workspace is clean and you are at the tip-of-tree branch in all projects.
2. **Make changes:** Apply your large-scale changes to the necessary files across different projects. This can be done using scripts or any other method. At this point, you will have uncommitted changes in your workspace.
3. **Run `repo_lsc`:** Use the `repo_lsc commit` command to create commits from your dirty tree. The tool will handle creating branches, adding files, and committing them based on the granularity you specify.
4. **Upload and profit:** The tool can automatically upload the changes for review.
Essentially, `repo_lsc` "just" manages a dirty tree and makes CLs of all pending changes.
## Commands
### `commit`
The `commit` command is used to create new commits from dirty repositories.
**Usage:**
```bash
repo_lsc commit -b <branch-name> -m <commit-message> [OPTIONS]
```
**Options:**
* `--granularity`: Specifies how to group files into commits.
* `repo`: (Default) One commit per dirty repository.
* `package`: One commit per directory containing an `Android.bp` or `Android.mk`.
* `dir`: One commit per directory.
* `file`: One commit per file.
* `--stack`: Stacks commits within a single repository on top of each other instead of creating separate branches.
* `--topic`: The topic to use for the uploaded changes.
* `--hashtag`: The hashtag to use for the uploaded changes.
* `--no-upload`: Prevents the tool from uploading the commits after creating them.
* `--dry-run`: Shows what the tool would do without actually creating any commits or branches.
* `--interactive`: Prompts for confirmation before executing each major command (`repo start`, `git add`, `git commit`, `repo upload`).
* `--yes`: Automatically answers yes to all prompts. This is the opposite of `--interactive`.
* `--verbose`: Enables verbose logging.
### `upload`
The `upload` command is used to upload a branch that was previously created (e.g., using `repo_lsc commit --no-upload`).
**Usage:**
```bash
repo_lsc upload <branch-name> [OPTIONS]
```
**Options:**
* `--topic`: The topic to use for the uploaded changes.
* `--hashtag`: The hashtag to use for the uploaded changes.
## Examples
**Create one commit per dirty repository:**
```bash
repo_lsc commit -b my-lsc -m "My large scale change"
```
**Create one commit per modified file, and stack them in each repository:**
```bash
repo_lsc commit -b my-lsc -m "My file-based change" --granularity file --stack
```
**Perform a dry run to see what would happen:**
```bash
repo_lsc commit -b my-lsc -m "Test" --dry-run
```
[Dauer der Verarbeitung: 0.1 Sekunden, vorverarbeitet 2026-06-27]