dotfiles/vcs/jj/config/sh/alias.d/jj.sh
Marty Oehme 5ab95c724f
jj: Rework jj bookmark main alias
Changed into a function which takes the revision to set the bookmark to
as an argument. This should work without interfering much since the
bookmark name that the `bookmark set` function _usually_ takes as
argument is already given by the alias (always 'main') and thus we do
not have to manually provide other arguments.

It default to the current working copy just like the command and
otherwise can point to any change.
2025-02-22 19:35:37 +01:00

73 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
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"
# 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"
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"
jbm() {
jj bookmark set -r "${1:-@}" main
}
# remote work
alias jrv="jj git remote list"
alias jp="jj git push"