From 749cedb16205c16566545436019ae2eefa056bd4 Mon Sep 17 00:00:00 2001 From: Marty Oehme <contact@martyoeh.me> Date: Fri, 28 Feb 2025 14:04:41 +0100 Subject: [PATCH] jj: Change oneline and summary log template 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). --- bootstrap/system-packages/etc/pacman.conf | 100 ---------------------- vcs/jj/config/jj/config.toml | 33 +++++++ vcs/jj/config/sh/alias.d/jj.sh | 4 +- 3 files changed, 35 insertions(+), 102 deletions(-) delete mode 100644 bootstrap/system-packages/etc/pacman.conf diff --git a/bootstrap/system-packages/etc/pacman.conf b/bootstrap/system-packages/etc/pacman.conf deleted file mode 100644 index 922ac08..0000000 --- a/bootstrap/system-packages/etc/pacman.conf +++ /dev/null @@ -1,100 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -#HookDir = /etc/pacman.d/hooks/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -L -C - -f -o %o %u -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -UseSyslog -Color -#NoProgressBar -CheckSpace -VerbosePkgLists -ParallelDownloads = 5 - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Arch Linux -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -#[multilib-testing] -#Include = /etc/pacman.d/mirrorlist - -[multilib] -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs diff --git a/vcs/jj/config/jj/config.toml b/vcs/jj/config/jj/config.toml index 3b87200..9d5368f 100644 --- a/vcs/jj/config/jj/config.toml +++ b/vcs/jj/config/jj/config.toml @@ -20,6 +20,7 @@ pager = "delta" format = "git" # for the time being to use delta well [templates] +# Add git diffs to commit drafts draft_commit_description = ''' concat( description, @@ -32,6 +33,38 @@ concat( ) ''' +[template-aliases] +# Changed order of normal oneliner around: +# keep revID, but then first thing bookmarks/tags/head and descriptions +# only afterwards show email, timesatmp, commitID since I am less interested +builtin_log_oneline = ''' +if(root, + format_root_commit(self), + label(if(current_working_copy, "working_copy"), + concat( + separate(" ", + format_short_change_id_with_hidden_and_divergent_info(self), + if(conflict, label("conflict", "conflict")), + bookmarks, + tags, + if(git_head, label("git_head", "git_head()")), + if(description, + description.first_line(), + label(if(empty, "empty"), description_placeholder), + ), + if(author.email(), author.email().local(), email_placeholder), + format_timestamp(commit_timestamp(self)), + working_copies, + format_short_commit_id(commit_id), + if(config("ui.show-cryptographic-signatures").as_boolean(), + format_short_cryptographic_signature(signature)), + if(empty, label("empty", "(empty)")), + ) ++ "\n", + ), + ) +) +''' + [revsets] log = "ancestors(@, 5) | ancestors(trunk()..(visible_heads() & mine()), 2) | trunk()" diff --git a/vcs/jj/config/sh/alias.d/jj.sh b/vcs/jj/config/sh/alias.d/jj.sh index a7f4606..457b5cc 100644 --- a/vcs/jj/config/sh/alias.d/jj.sh +++ b/vcs/jj/config/sh/alias.d/jj.sh @@ -51,8 +51,8 @@ alias jab="jj abandon" 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 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"