dotfiles/vcs/jj/config/sh/alias.d/jj.sh
Marty Oehme 4082d92ed9
jj: Change log finding alias to case insensitive
Since 612b92d1 we are matching private commits case insensitively, we
should also match default commit search insensitively by default.

This changes the alias to search without caring for the case. We do not
have an equivalent alias for case sensitive search, and I will only add
one if I need the specificity often enough to warrant an extra alias.
2025-03-06 21:21:59 +01:00

82 lines
2.1 KiB
Bash

#!/usr/bin/env sh
if ! exist jj; then
return 1
fi
alias j="jj"
if exist lazyjj; then
alias lj="lazyjj"
fi
alias jn="jj new"
alias jna="jj new -A@"
alias jnb="jj new -B@"
alias jds="jj describe"
alias jc="jj commit"
# finding out the current snapshot
alias js="jj status"
alias jw="jj show"
alias jd="jj diff"
# for describe-and-edit workflows
# https://steveklabnik.github.io/jujutsu-tutorial/real-world-workflows/the-edit-workflow.html
alias je="jj edit"
alias jen="jj next --edit"
alias jep="jj prev --edit"
alias jenn="jj next"
alias jepp="jj prev"
# edit the 'newest' head descendant of current working copy
# usually means 'get me to head of current branch'
alias jed="jj edit -r 'latest(heads(descendants(@)))'"
# go to the newest head of the trunk branch
alias jet="jj edit -r 'latest(heads(descendants(trunk())))'"
# simply go to the newest commit, i.e. our last change committed
alias jel="jj edit -r 'latest(all())'"
# for squash-and-go workflows
# https://steveklabnik.github.io/jujutsu-tutorial/real-world-workflows/the-squash-workflow.html
alias jss="jj squash"
alias jsi="jj squash --interactive"
# oops buttons
alias ju="jj undo"
# allows you to split the current change into multiple
alias ji="jj split"
# quickly get rid of a change
alias jab="jj abandon"
# revset info
alias J="jj log -r 'all()'" # mirror default command being log
alias jl="jj log -T builtin_log_oneline"
alias JL="jj log -T builtin_log_oneline -r 'all()'"
alias jlo="jj log --summary -T builtin_log_compact_full_description"
alias JLO="jj log --summary -T builtin_log_compact_full_description -r 'all()'"
alias jloo="jj log --patch"
alias JLOO="jj log --patch -r 'all()'"
alias jol="jj op log"
jlf() {
jj log -r "description(substring-i:\"$*\")"
}
jlof() {
jj log --summary -r "description($*)"
}
jloof() {
jj log --patch -r "description($*)"
}
# show branches (i.e. head commits) w a couple previous commits
alias jh="jj log -r 'ancestors(heads(all()), 3)'"
alias jrb="jj rebase"
# 'branching' bookmark work
alias jb="jj bookmark"
jbm() {
jj bookmark set -r "${1:-@}" main
}
# remote work
alias jrv="jj git remote list"
alias jp="jj git push"