# SPDX-FileCopyrightText: 2020 Luke Granger-Brown # # SPDX-License-Identifier: Apache-2.0 [ui] username = Luke Granger-Brown 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