depot/ops/nixos/lib/home-manager/hgrc

77 lines
2.4 KiB
Text

# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
#
# SPDX-License-Identifier: Apache-2.0
[ui]
username = Luke Granger-Brown <hg@lukegb.com>
interface = curses
tweakdefaults = True
merge = internal:merge3
mergemarkers = detailed
[commands]
push.require-revs = true
[paths]
default:pushrev = .
[phases]
publish = false
[alias]
log = log --template lukegblogshort --graph
xl = log -r 'smartlog()'
[revsetalias]
# We're interested in the current commit, and any non-extinct commits in the draft or secret phases.
nonpublic() = not public() and not obsolete()
smartlogstart() = (parents(nonpublic()) or nonpublic() or . or head()) and (not obsolete() or unstable()^) and not closed()
# Now expand smartlogstart to go up to the parent public commit.
publichead(r1) = ancestors(r1) - (descendants(public(), 1) and public())
smartlog() = publichead(smartlogstart())::smartlogstart() | smartlogstart()
[color]
mode = terminfo
custom.rev_draft = green bold
custom.rev_public = blue bold
custom.rev_secret = red bold
custom.revprefix_draft = green bold inverse
custom.revprefix_public = blue bold inverse
custom.revprefix_secret = red bold inverse
custom.author = red
custom.currentcommit_message = magenta
custom.bookmarks = bold orange
custom.topics = bold orange
custom.date = lightyellow
custom.branch_tip = yellow
color.orange = 202
color.lightyellow = 191
[templates]
lukegblogshort = {separate(' ', label('custom.rev_{phase}', lukegbnode), label('custom.date', lukegbdate), label('custom.author', lukegbauthor), label('custom.branch_tip', ifcontains(rev, revset(branch), branch, '')), label('custom.bookmarks', bookmarks), label('custom.topics', topics), label(ifcontains(rev, revset('.'), 'custom.currentcommit_message', 'custom.message'), lukegbmsg))}\n
lukegbdate = {date|age}
lukegbmsg = {desc|firstline}
lukegbcopybarain = {sub('^noreply\+([^@]+)@lukegb.com$', 'copybara:\\1', author|email)}
lukegbcopybara = {ifcontains(lukegbcopybarain, '@', "", lukegbcopybarain)}
lukegbauthor = {ifeq('hg@lukegb.com', author|email, 'lukegb', if(lukegbcopybara, lukegbcopybara, author|email))}
lukegbnode = {label('custom.revprefix_{phase}', lukegbnodesh)}{lukegbnodelng}
lukegbnodesh = {node|shortest}
lukegbnodelng = {sub('^{lukegbnodesh}', "", '{node|short}')}
[extensions]
histedit =
rebase =
strip =
remotenames =
amend =
evolve =
topic =
git =
purge =
absorb =
[experimental]
topic-mode = warning
evolution = all