The new log aliases follow one logic: small letters are default and capital letters show 'all' changes. Thus, `j` defaults to showing the simple log and `J` the same log but for all changes. `jl` shows oneline logs, `JL` oneline logs for all changes. `jlo` shows log summaries, `JLO` for all changes. And finally `jloo` and `JLOO` show the details patches for each change.
75 lines
1.6 KiB
Bash
75 lines
1.6 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 jds="jj describe"
|
|
alias jc="jj commit"
|
|
|
|
# finding out the current snapshot
|
|
js() {
|
|
if [ "$#" -eq 0 ]; then
|
|
jj status
|
|
else
|
|
jj show "$*"
|
|
fi
|
|
}
|
|
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"
|
|
|
|
# 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"
|
|
|
|
# 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"
|
|
alias JLO="jj log --summary -r 'all()'"
|
|
alias jloo="jj log --patch"
|
|
alias JLOO="jj log --patch -r 'all()'"
|
|
alias jol="jj op log"
|
|
jlf() {
|
|
jj log -r "description($*)"
|
|
}
|
|
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"
|
|
alias jbm="jj bookmark set main"
|
|
|
|
# remote work
|
|
alias jrv="jj git remote list"
|
|
alias jp="jj git push"
|