Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/content/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ url = "http://localhost:{{ branch | hash_port }}"

# Override CI platform detection for self-hosted instances
[ci]
platform = "github" # or "gitlab"
platform = "github" # or "gitlab" or "azuredevops"
```

# Shell Integration
Expand Down
2 changes: 1 addition & 1 deletion docs/content/list.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ Note: `main↕` and `main…±` refer to the default branch (header label stays

### CI status

The CI column shows GitHub/GitLab pipeline status:
The CI column shows GitHub/GitLab/Azure DevOps pipeline status:

| Indicator | Meaning |
|-----------|---------|
Expand Down
6 changes: 4 additions & 2 deletions docs/content/switch.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ Requires `gh` CLI to be installed and authenticated. The `--create` flag cannot

**Fork PRs:** The local branch uses the PR's branch name directly (e.g., `feature-fix`), so `git push` works normally. If a local branch with that name already exists tracking something else, rename it first.

Also supports Azure DevOps repositories [experimental]; requires `az` CLI with the `azure-devops` extension.

## GitLab merge requests

The `mr:<number>` syntax resolves the branch for a GitLab merge request. For same-project MRs, it switches to the branch directly. For fork MRs, it fetches `refs/merge-requests/N/head` and configures `pushRemote` to the fork URL.
Expand Down Expand Up @@ -165,8 +167,8 @@ Usage: <b><span class=c>wt switch</span></b> <span class=c>[OPTIONS]</span> <spa
Branch name or shortcut

Opens interactive picker if omitted. Shortcuts: &#39;^&#39; (default branch),
&#39;-&#39; (previous), &#39;@&#39; (current), &#39;pr:{N}&#39; (GitHub PR), &#39;mr:{N}&#39; (GitLab
MR)
&#39;-&#39; (previous), &#39;@&#39; (current), &#39;pr:{N}&#39; (GitHub/Azure DevOps PR),
&#39;mr:{N}&#39; (GitLab MR)

<span class=c>[EXECUTE_ARGS]...</span>
Additional arguments for --execute command (after --)
Expand Down
2 changes: 1 addition & 1 deletion skills/worktrunk/reference/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ url = "http://localhost:{{ branch | hash_port }}"

# Override CI platform detection for self-hosted instances
[ci]
platform = "github" # or "gitlab"
platform = "github" # or "gitlab" or "azuredevops"
```

# Shell Integration
Expand Down
2 changes: 1 addition & 1 deletion skills/worktrunk/reference/list.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Note: `main↕` and `main…±` refer to the default branch (header label stays

### CI status

The CI column shows GitHub/GitLab pipeline status:
The CI column shows GitHub/GitLab/Azure DevOps pipeline status:

| Indicator | Meaning |
|-----------|---------|
Expand Down
6 changes: 4 additions & 2 deletions skills/worktrunk/reference/switch.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ Requires `gh` CLI to be installed and authenticated. The `--create` flag cannot

**Fork PRs:** The local branch uses the PR's branch name directly (e.g., `feature-fix`), so `git push` works normally. If a local branch with that name already exists tracking something else, rename it first.

Also supports Azure DevOps repositories [experimental]; requires `az` CLI with the `azure-devops` extension.

## GitLab merge requests

The `mr:<number>` syntax resolves the branch for a GitLab merge request. For same-project MRs, it switches to the branch directly. For fork MRs, it fetches `refs/merge-requests/N/head` and configures `pushRemote` to the fork URL.
Expand Down Expand Up @@ -135,8 +137,8 @@ Usage: <b><span class=c>wt switch</span></b> <span class=c>[OPTIONS]</span> <spa
Branch name or shortcut

Opens interactive picker if omitted. Shortcuts: &#39;^&#39; (default branch),
&#39;-&#39; (previous), &#39;@&#39; (current), &#39;pr:{N}&#39; (GitHub PR), &#39;mr:{N}&#39; (GitLab
MR)
&#39;-&#39; (previous), &#39;@&#39; (current), &#39;pr:{N}&#39; (GitHub/Azure DevOps PR),
&#39;mr:{N}&#39; (GitLab MR)

<span class=c>[EXECUTE_ARGS]...</span>
Additional arguments for --execute command (after --)
Expand Down
8 changes: 5 additions & 3 deletions src/cli/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ Requires `gh` CLI to be installed and authenticated. The `--create` flag cannot

**Fork PRs:** The local branch uses the PR's branch name directly (e.g., `feature-fix`), so `git push` works normally. If a local branch with that name already exists tracking something else, rename it first.

Also supports Azure DevOps repositories [experimental]; requires `az` CLI with the `azure-devops` extension.

## GitLab merge requests

The `mr:<number>` syntax resolves the branch for a GitLab merge request. For same-project MRs, it switches to the branch directly. For fork MRs, it fetches `refs/merge-requests/N/head` and configures `pushRemote` to the fork URL.
Expand Down Expand Up @@ -384,7 +386,7 @@ To change which branch a worktree is on, use `git switch` inside that worktree.
/// Branch name or shortcut
///
/// Opens interactive picker if omitted.
/// Shortcuts: '^' (default branch), '-' (previous), '@' (current), 'pr:{N}' (GitHub PR), 'mr:{N}' (GitLab MR)
/// Shortcuts: '^' (default branch), '-' (previous), '@' (current), 'pr:{N}' (GitHub/Azure DevOps PR), 'mr:{N}' (GitLab MR)
#[arg(add = crate::completion::worktree_branch_completer())]
branch: Option<String>,

Expand Down Expand Up @@ -519,7 +521,7 @@ Note: `main↕` and `main…±` refer to the default branch (header label stays

### CI status

The CI column shows GitHub/GitLab pipeline status:
The CI column shows GitHub/GitLab/Azure DevOps pipeline status:

| Indicator | Meaning |
|-----------|---------|
Expand Down Expand Up @@ -1771,7 +1773,7 @@ url = "http://localhost:{{ branch | hash_port }}"

# Override CI platform detection for self-hosted instances
[ci]
platform = "github" # or "gitlab"
platform = "github" # or "gitlab" or "azuredevops"
```

# Shell Integration
Expand Down
12 changes: 11 additions & 1 deletion src/commands/config/show.rs
Original file line number Diff line number Diff line change
Expand Up @@ -296,11 +296,21 @@ fn render_diagnostics(out: &mut String) -> anyhow::Result<()> {
ci_tools.glab_authenticated,
)?;
}
Some(CiPlatform::AzureDevOps) => {
let ci_tools = CiToolsStatus::detect(None);
render_ci_tool_status(
out,
"az",
"Azure DevOps",
ci_tools.az_installed,
ci_tools.az_authenticated,
)?;
}
None => {
writeln!(
out,
"{}",
hint_message("CI status requires GitHub or GitLab remote")
hint_message("CI status requires GitHub, GitLab, or Azure DevOps remote")
)?;
}
}
Expand Down
Loading
Loading