Home

Awesome

zsh-arc

zsh plugin with aliases for Yandex version control system arc

https://habr.com/ru/company/yandex/blog/482926/

Installation

Antigen

antigen bundle anton-rudeshko/zsh-arc

Or add to your .antigenrc:

antigen bundles <<EOBUNDLES
    …
    anton-rudeshko/zsh-arc
    …
EOBUNDLES

Then run:

antigen update
antigen reset

Reopen your shell.

Usage

Keep in mind that there are utilities shadowed with aliases:

$ which -a $(alias | grep -oE "^a[^=]*") | grep -v arc
a: aliased to fasd -a
/usr/sbin/ab
/usr/sbin/ac
afind: aliased to ack -il
/usr/sbin/amt

Run shadowed commands via command cmd or \cmd.

Aliases

AliasCommand
aaarc add
aaaarc add --all
aapaarc add --patch
aauarc add --update
aavarc add --verbose
abarc branch
abaarc branch --all
abdarc branch --delete
abdaarc branch --merged | command grep -vE "^(\+|\*|\s*(trunk)\s*$)" | command xargs -n 1 arc branch -d
abDarc branch -D
ablarc blame
acarc commit
ac!arc commit --amend
acn!arc commit --no-edit --amend
acaarc commit --all
aca!arc commit --all --amend
acan!arc commit --all --no-edit --amend
acamarc commit --all --message
acbarc checkout -b
acleanarc clean -d
apristinearc reset --hard $(arc_current_branch) && arc clean -dx
actarc checkout trunk
acmsgarc commit --message
acoarc checkout
acparc cherry-pick
acpaarc cherry-pick --abort
acpcarc cherry-pick --continue
acpsarc cherry-pick --skip
adarc diff
adcaarc diff --cached
adsarc diff --staged
afarc fetch
afaarc fetch --all
afgarc ls-files | grep
agpullarc pull "$(arc_current_branch)"
agpusharc push "$(arc_current_branch)"
agsuparc branch --set-upstream-to=arcadia/$(arc_current_branch)
apsuparc push --set-upstream arcadia $(arc_current_branch)
alarc pull
algarc log --stat
alggarc log --graph
algmarc log --graph --max-count=10
aloarc log --oneline
alolsarc log --graph --stat
alogarc log --oneline --graph
amtarc mergetool --no-prompt
amtvimarc mergetool --no-prompt --tool=vimdiff
aparc push
apf!arc push --force
aprarc pr
aprcarc pr create
aprcoarc pr checkout
aprlarc pr list
aprlaarc pr list --all
aprvarc pr view
aprsarc pr status
arbarc rebase
arbaarc rebase --abort
arbcarc rebase --continue
arbiarc rebase --interactive
arbsarc rebase --skip
arevarc revert
arharc reset
arhharc reset --hard
aroharc reset arcadia/$(arc_current_branch) --hard
armarc rm
armcarc rm --cached
arsarc restore
arssarc restore --source
artcd "$(arc root || echo .)"
aruarc reset --
asbarc status -sb
asharc show --no-decorate
ashdarc show
assarc status -s
astarc status
astaaarc stash apply
astcarc stash clear
astdarc stash drop
astlarc stash list
astparc stash pop
astsarc stash show
atsarc tag -s
atvarc tag | sort -V
aunwiparc log -n 1 | grep -q -c "\-\-wip\-\-" && arc reset HEAD~1
awiparc add -A; arc rm $(arc ls-files --deleted) 2> /dev/null; arc commit --message "--wip-- [skip ci]"

Development

/Users/rudeshko/dev/zsh-arc --no-local-clone

It is necessary to use absolute path.