[user] name = "Leah Neukirchen" email = "leah@vuxu.org" [ui] # color = "never" default-command = ["log", "-T", "log", "-r", "default"] pager = "less -FRX" diff-editor = "jj-gitpatch" conflict-marker-style = "git" [ui.graph] style = "ascii" [git] write-change-id-header = true push-new-bookmarks = true [ui.diff] format = "git" [diff.color-words] conflict = "pair" [snapshot] auto-track = "none()" [aliases] add = ["file", "track"] leg = ["log", "-T", "builtin_log_oneline"] lg = ["log", "--no-graph", "-T", 'separate(" ",committer.timestamp().format("%Y-%m-%d"),change_id.shortest(5),commit_id.shortest(7),if(bookmarks,"(" ++ bookmarks ++ ")"),if(tags,"(tag: " ++ tags ++")"),if(empty,""),description.first_line())++"\n"'] top = ["log", "--ignore-working-copy", "-r", 'latest(bookmarks() & ::@)', "--no-graph", "-T", 'separate(",",bookmarks)'] head = ["log", "--ignore-working-copy", "-T", 'commit_id++"\n"', "-r", "@-", "--no-graph"] logp = ["log", "--no-graph", "--patch", "--git", "-T", "log_full"] tug = ["bookmark", "move", "--from", "heads(::@- & bookmarks())", "--to", "@-"] sq = ["squash", "--interactive"] pull = ["git", "fetch"] push = ["git", "push", "--allow-new"] # prompt = ["log", "--ignore-working-copy", "--color", "never", "-r", "@", "--no-graph", "-T", 'if(empty,":"++parents.map(|c|if(c.local_bookmarks(),c.local_bookmarks().join("&"),c.change_id().shortest())).join("&"),if(local_bookmarks,local_bookmarks.join("&"),change_id.shortest()))'] prompt = ["op", "log", "--ignore-working-copy", "-n", "1", "--no-graph", "-T", 'id.short(6)'] [revsets] log = '..@' [revset-aliases] default = 'present(@) | ancestors(immutable_heads().., 2) | present(trunk())' [merge-tools.meld] edit-args = ["--newtab", "$left", "$right"] [merge-tools.ediff] program = 'sh' merge-args = ['-c', 'emacsclient -c --eval "(ediff-merge-files-with-ancestor \"$0\" \"$1\" \"$2\" nil \"$3\")"', '$left', '$right', '$base', '$output'] [template-aliases] log = ''' 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(empty, label("empty", "(empty)")), if(description, description.first_line(), label(if(empty, "empty"), description_placeholder), ), bookmarks, tags, working_copies, if(git_head, label("git_head", "HEAD")), if(conflict, label("conflict", "conflict")), if(config("ui.show-cryptographic-signatures").as_boolean(), format_short_cryptographic_signature(signature)), ) ++ "\n", ), ) ) ''' log_full = ''' concat( "\n", "commit " ++ commit_id ++ "\n", "Change-ID: " ++ change_id ++ "\n", surround("Bookmarks: ", "\n", separate(" ", local_bookmarks, remote_bookmarks)), surround("Tags: ", "\n", tags), "Author: " ++ format_full_signature(author) ++ "\n", "Date: " ++ format_full_timestamp(author.timestamp()) ++ "\n", if(author.email() == committer.email(), "", "Committer: " ++ format_full_signature(committer) ++ "\n" ++ "CommitDate: " ++ format_full_timestamp(committer.timestamp()) ++ "\n" ), "\n", indent(" ", coalesce(description, label(if(empty, "empty"), description_placeholder) ++ "\n")), "\n", ) ''' 'format_full_timestamp(timestamp)' = 'timestamp.local().format("%a %b %d %H:%M:%S %Y %z")' 'format_full_signature(signature)' = 'coalesce(signature.name(), name_placeholder) ++ " <" ++ coalesce(signature.email(), "@") ++ ">"' # no seconds needed 'format_timestamp(timestamp)' = 'timestamp.local().format("%Y-%m-%d %H:%M")' prompt = ''' separate(" ", bookmarks.map(|x| if( x.name().substr(0, 10).starts_with(x.name()), x.name().substr(0, 10), x.name().substr(0, 9) ++ "…") ).join(" "), tags.map(|x| if( x.name().substr(0, 10).starts_with(x.name()), x.name().substr(0, 10), x.name().substr(0, 9) ++ "…") ).join(" "), surround("\"","\"", if( description.first_line().substr(0, 24).starts_with(description.first_line()), description.first_line().substr(0, 24), description.first_line().substr(0, 23) ++ "…" ) ), change_id, commit_id, if(empty, "(empty)"), if(conflict, "(conflict)"), if(divergent, "(divergent)"), if(hidden, "(hidden)"), ) ''' [colors] "error" = { fg = "default", bold = true } "error_source" = { fg = "default" } "warning" = { fg = "default", bold = true } "hint" = { fg = "default" } "error heading" = { fg = "red", bold = true } "error_source heading" = { bold = true } "warning heading" = { fg = "default", bold = true } "hint heading" = { fg = "default", bold = true } "conflict_description" = "default" "conflict_description difficult" = "default" "commit_id" = "default" "change_id" = "default" # Unique prefixes and the rest for change & commit ids "prefix" = { underline = true, bold = false } "rest" = "default" "divergent rest" = "default" "divergent prefix" = { fg = "default", underline = true } "hidden prefix" = "default" "author" = "default" "committer" = "default" "timestamp" = "default" "working_copies" = "default" "bookmark" = { fg = "default", bold = true } "bookmarks" = { fg = "default", bold = true } "local_bookmarks" = { fg = "default", bold = true } "remote_bookmarks" = { fg = "default", bold = true } "tag" = { fg = "default", bold = true } "tags" = { fg = "default", bold = true } "git_refs" = { fg = "default", bold = true } "git_head" = { fg = "default", bold = true } "divergent" = { fg = "default", bold = true } "divergent change_id" = { fg = "default", bold = true } "conflict" = { fg = "default", bold = true } "empty" = { fg = "bright black" } "placeholder" = "default" "description placeholder" = "default" "empty description placeholder" = "default" "separator" = "default" "elided" = "default" "root" = "default" "username" = "default" "email" = "default" "working_copy" = { bold = false } "working_copy commit_id" = "default" "working_copy change_id" = { fg = "default", bold = true } "working_copy change_id prefix" = { fg = "default", bold = true } "working_copy author" = "default" "working_copy committer" = "default" "working_copy timestamp" = "default" "working_copy working_copies" = "default" "working_copy bookmark" = { fg = "default", bold = true } "working_copy bookmarks" = { fg = "default", bold = true } "working_copy local_bookmarks" = { fg = "default", bold = true } "working_copy remote_bookmarks" = { fg = "default", bold = true } "working_copy tag" = { fg = "default", bold = true } "working_copy tags" = { fg = "default", bold = true } "working_copy git_refs" = { fg = "default", bold = true } "working_copy divergent" = { fg = "default", bold = true } "working_copy divergent change_id" = { fg = "default", bold = true } "working_copy conflict" = { fg = "default", bold = true } "working_copy empty" = { fg = "bright black" } "working_copy placeholder" = { fg = "bright black" } "working_copy description placeholder" = { fg = "bright black" } "working_copy empty description placeholder" = { fg = "bright black" } "working_copy username" = "default" "working_copy email" = "default" "config_list name" = "default" "config_list value" = "default" "config_list overridden" = { fg = "default", bold = true } "config_list overridden name" = "default" "config_list overridden value" = "default" "diff header" = "default" "diff empty" = "default" "diff binary" = "default" "diff file_header" = "default" "diff hunk_header" = "default" "diff removed" = { fg = "default" } "diff added" = { fg = "default" } "diff token" = "default" "diff modified" = "default" "diff renamed" = "default" "diff copied" = "default" "diff access-denied" = { bg = "red" } "operation id" = "default" "operation user" = "default" "operation time" = "default" "operation current_operation" = { bold = true } "operation current_operation id" = "default" "operation current_operation user" = "default" "operation current_operation time" = "default" "node elided" = "default" "node working_copy" = { fg = "green", bold = true } "node current_operation" = { fg = "green", bold = true } "node immutable" = "default" "node conflict" = { fg = "red", bold = true }