dependabot[bot] 46a92af035 chore(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 in the golang group (#634)
Bumps the golang group with 1 update: [github.com/spf13/cobra](https://github.com/spf13/cobra).

Updates `github.com/spf13/cobra` from 1.10.1 to 1.10.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/spf13/cobra/releases">github.com/spf13/cobra's releases</a>.</em></p>
<blockquote>
<h2>v1.10.2</h2>
<h2>🔧 Dependencies</h2>
<ul>
<li>chore: Migrate from <code>gopkg.in/yaml.v3</code> to <code>go.yaml.in/yaml/v3</code> by <a href="https://github.com/dims"><code>@​dims</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2336">spf13/cobra#2336</a> - the <code>gopkg.in/yaml.v3</code> package has been deprecated for some time: this should significantly cleanup dependency/supply-chains for consumers of <code>spf13/cobra</code></li>
</ul>
<h2>📈 CI/CD</h2>
<ul>
<li>Fix linter and allow CI to pass by <a href="https://github.com/marckhouzam"><code>@​marckhouzam</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2327">spf13/cobra#2327</a></li>
<li>fix: actions/setup-go v6 by <a href="https://github.com/jpmcb"><code>@​jpmcb</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2337">spf13/cobra#2337</a></li>
</ul>
<h2>🔥✍🏼 Docs</h2>
<ul>
<li>Add documentation for repeated flags functionality by <a href="https://github.com/rvergis"><code>@​rvergis</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2316">spf13/cobra#2316</a></li>
</ul>
<h2>🍂 Refactors</h2>
<ul>
<li>refactor: replace several vars with consts by <a href="https://github.com/htoyoda18"><code>@​htoyoda18</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2328">spf13/cobra#2328</a></li>
<li>refactor: change minUsagePadding from var to const by <a href="https://github.com/ssam18"><code>@​ssam18</code></a> in <a href="https://redirect.github.com/spf13/cobra/pull/2325">spf13/cobra#2325</a></li>
</ul>
<h2>🤗 New Contributors</h2>
<ul>
<li><a href="https://github.com/rvergis"><code>@​rvergis</code></a> made their first contribution in <a href="https://redirect.github.com/spf13/cobra/pull/2316">spf13/cobra#2316</a></li>
<li><a href="https://github.com/htoyoda18"><code>@​htoyoda18</code></a> made their first contribution in <a href="https://redirect.github.com/spf13/cobra/pull/2328">spf13/cobra#2328</a></li>
<li><a href="https://github.com/ssam18"><code>@​ssam18</code></a> made their first contribution in <a href="https://redirect.github.com/spf13/cobra/pull/2325">spf13/cobra#2325</a></li>
<li><a href="https://github.com/dims"><code>@​dims</code></a> made their first contribution in <a href="https://redirect.github.com/spf13/cobra/pull/2336">spf13/cobra#2336</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2">https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2</a></p>
<p>Thank you to our amazing contributors!!!!! 🐍 🚀</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="88b30ab89d"><code>88b30ab</code></a> chore: Migrate from gopkg.in/yaml.v3 to go.yaml.in/yaml/v3 (<a href="https://redirect.github.com/spf13/cobra/issues/2336">#2336</a>)</li>
<li><a href="346d408fe7"><code>346d408</code></a> fix: actions/setup-go v6 (<a href="https://redirect.github.com/spf13/cobra/issues/2337">#2337</a>)</li>
<li><a href="fc81d20034"><code>fc81d20</code></a> refactor: change minUsagePadding from var to const (<a href="https://redirect.github.com/spf13/cobra/issues/2325">#2325</a>)</li>
<li><a href="117698a604"><code>117698a</code></a> refactor: replace several vars with consts (<a href="https://redirect.github.com/spf13/cobra/issues/2328">#2328</a>)</li>
<li><a href="e2dd29ddc3"><code>e2dd29d</code></a> Add documentation for repeated flags functionality (<a href="https://redirect.github.com/spf13/cobra/issues/2316">#2316</a>)</li>
<li><a href="0629892556"><code>0629892</code></a> Fix linter (<a href="https://redirect.github.com/spf13/cobra/issues/2327">#2327</a>)</li>
<li>See full diff in <a href="https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.10.1&new-version=1.10.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>
2025-12-08 19:35:01 +00:00
2023-11-27 22:12:46 +00:00
2024-06-14 00:53:40 +00:00

av: CLI to manage Stacked PRs


av is a command-line tool that helps you manage your stacked PRs on GitHub. It allows you to create a PR stacked on top of another PR, and it will automatically update the dependent PR when the base PR is updated. Read more at Rethinking code reviews with stacked PRs.

Community

Join our discord community: https://discord.gg/TFgtZtN8

Features

  • Create a PR that is stacked on another PR.
  • Visualize the entire stack of PRs.
  • Interactively navigate through the PR stack.
  • Rebase the dependent PR when the base PR is updated.
  • Remove the merged PRs from the stack.
  • Split a PR into multiple PRs.
  • Split a commit into multiple commits.
  • Reorder the PRs and commits in the stack.

Demo

Demo

Usage

Tip

Complete documentation is available at docs.aviator.co.

Create a new branch and make some changes:

$ av branch feature-1
$ echo "Hello, world!" > hello.txt
$ av commit -A -m "Add hello.txt"

Create a PR:

$ av pr

Create a new branch and make some changes. Create another PR that depends on the previous PR:

$ av branch feature-2
$ echo "Another feature" >> hello.txt
$ av commit -a -m "Update hello.txt"
$ av pr

Visualize the PR stack:

$ av tree
  * feature-2 (HEAD)
  │ https://github.com/octocat/Hello-World/pull/2
  │
  * feature-1
  │ https://github.com/octocat/Hello-World/pull/1
  │
  * master

Merge the first PR:

$ gh pr merge feature-1

Sync the stack:

$ av sync

  ✓ GitHub fetch is done
  ✓ Restack is done

    * ✓ feature-2 f9d85fe
    │
    * master 7fd1a60

  ✓ Pushed to GitHub

    Following branches do not need a push.

      feature-1: PR is already merged.

    Following branches are pushed.

      feature-2
        Remote: dbae4bd Update hello.txt 2024-06-11 16:41:18 -0700 -0700 (2 minutes ago)
        Local:  f9d85fe Update hello.txt 2024-06-11 16:43:41 -0700 -0700 (7 seconds ago)
        PR:     https://github.com/octocat/Hello-World/pull/2

  ✓ Deleted the merged branches

    Following merged branches are deleted.

      feature-1: f2335eec783b54226a7ab90f4af1c9b8309f8b61

Installation

av is available for macOS and Linux. In order to interact with GitHub, av uses the GitHub API token. If you have GitHub CLI installed, av will use the token automatically from the GitHub CLI. It is recommended to install both.

macOS (Homebrew)

First, if not already done, install Homebrew.

Then install using Homebrew tap.

brew install gh aviator-co/tap/av

Arch Linux (AUR)

Published as av-cli-bin in AUR.

yay av-cli

Debian/Ubuntu

Add Aviator to your APT repositories.

echo "deb [trusted=yes] https://apt.fury.io/aviator/ /" > \
/etc/apt/sources.list.d/fury.list

And then apt install.

sudo apt update
sudo apt install av

Alternatively

If you'd prefer you can download the .deb file from the releases page.

apt install ./av_$VERSION_linux_$ARCH.deb

RPM-based systems

Add the following file /etc/yum.repos.d/fury.repo.

[fury]
name=Gemfury Private Repo
baseurl=https://yum.fury.io/aviator/
enabled=1
gpgcheck=0

Run the following command to confirm the configuration is working.

yum --disablerepo=* --enablerepo=fury list available

And then run yum install.

sudo yum install av

Alternatively

If you'd prefer you can download the .rpm file from the releases page.

rpm -i ./av_$VERSION_linux_$ARCH.rpm

Binary download

Download the binary from the releases page. Extract the archive and add the executable to your PATH.

Setup

  1. Set up the GitHub CLI for GitHub authentication:

    gh auth login
    

    Or you can create a Personal Access Token as described in the Configuration section.

  2. Set up the av CLI autocompletion:

    # Bash
    source <(av completion bash)
    # Zsh
    source <(av completion zsh)
    
  3. Initialize the repository:

    av init
    

Upgrade

macOS (Homebrew)

brew update
brew upgrade av

Debian/Ubuntu

sudo apt update
sudo apt upgrade

RPM-based systems

yum update

Example commands

Command Description
av adopt Adopt a branch that is not created from av branch.
av branch Create a new child branch from the current branch.
av commit --amend Amend the last commit and rebase the children.
av pr Create or update a PR.
av reorder Reorder the branches.
av reparent Change the parent of the current branch.
av restack Rebase the branches to their parents.
av split-commit Split the last commit.
av switch Check out branches interactively.
av sync --all Fetch and rebase all branches.
av tree Visualize the PRs.

How it works

av internally keeps tracks of the PRs, their associated branches and their dependent branches. For each branch, it remembers where the branch started (the base commit of the branch). When the base branch is updated, av rebases the dependent branches on top of the new base branch using the remembered starting point as the merge base.

Learn more

Description
A command line tool to manage stacked PRs with Aviator
Readme MIT 65 MiB
Languages
Go 99.8%
Shell 0.2%