Summary logs are changed to a little nicer presentation (from --summary to 'builtin_log_compact_full_description' template). Oneline logs have a changed order. Keep the revID as first thing, but then show bookmarks/tags/head and descriptions. Only afterwards show email, timesatmp, commitID since I am less interested in them generally when viewing oneline commits (to get an overview of the last changes and my current position).
82 lines
2.1 KiB
Bash
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(\"$*\")"
|
|
}
|
|
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"
|