view hgrc @ 25:09cb15cf398c

wip: add a short date to the wip template
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Tue, 08 Sep 2015 10:43:40 -0400
parents 8f5ccb3006f9
children b2c62d6958e7
line wrap: on
line source

[ui]
username = Jordi GutiƩrrez Hermoso <jordigh@octave.org>
merge = emacs
editor = emacswait
debugger = ipdb
mergemarkers = detailed

# My Emacs merge configuration
[merge-tools]
emacs.executable = emacspause
emacs.args = --eval "(ediff-merge-with-ancestor \""$local"\" \""$other"\" \""$base"\" nil \""$output"\")"

# Some special alises
[alias]
garbage-collect=strip --hidden -r 'obsolete()'
stash=shelve
glog=log -G
email=email --confirm
pvr=log -pvr
amend=amend -D
la=glog -Twip
ll=glog -Twip -r ::.

# These are all the extensions that I use.
[extensions]
convert=
strip=
record=
churn=
purge=
rebase=
highlight=
color=
progress=
patchbomb=
histedit=
largefiles=
shelve=

pager =
hggit = ~/coding/vcs/hg-git/hggit
crecord= ~/coding/vcs/crecord/crecord
evolve=~/coding/vcs/evolve/hgext/evolve.py

# The pager needs some extra config to work right...
[pager]
pager = LESS='FSRX' less
attend = tags, help, annotate, cat, diff, export, status,\
         outgoing, incoming, glog, log, grep, pvr, wip, la, ll

[committemplate]
changeset = {desc}\n\n
    HG: {extramsg}
    HG: user: {author}\n{ifeq(p2rev, "-1", "",
   "HG: branch merge\n")
   }HG: branch '{branch}'\n{if(currentbookmark,
   "HG: bookmark '{currentbookmark}'\n")  }{subrepos %
   "HG: subrepo {subrepo}\n"              }
   {splitlines(diff()) % 'HG: {line}\n'}


# This defines my custom xterm-256 colours.
[color]
mode=terminfo
color.orange = 202
color.lightyellow = 191
color.darkorange = 220
color.brightyellow = 226

status.modified = magenta bold
status.added = green bold
status.removed = red bold
status.deleted = cyan bold
status.unknown = black  bold
status.ignored = black bold
log.branch = cyan 
log.summary = lightyellow
log.description = lightyellow
log.bookmark = green
log.tag = darkorange
log.activebookmark = green bold underline
log.date = yellow

changeset.public = orange bold
changeset.secret = blue bold
changeset.draft = brightyellow bold

diff.tab = bold magenta_background

desc.here = bold blue_background

[tortoisehg]
authorcolor = True

[subpaths]
git://git.sv.gnu.org/gnulib = /home/jordi/coding/vcs/gnulib

# This makes diffs show more information
[diff]
git = true
showfunc = 1

# This section affects hgweb, the result of `hg serve`
[web]
pygments_style = emacs
style = paper
allow_archive = gz zip
archivesubrepos = true

# This email stuff is for emailing patches to the Mercurial list for
# when I want to modify Mercurial itself.
[email]
method = smtp
from = Jordi GutiƩrrez Hermoso <jordigh@octave.org>
to = mercurial-devel@selenic.com
cc =

[smtp]
host = fencepost.gnu.org
tls = tls
username = jordigh
port = 587

# I push and pull a lot with local clones, so don't make my local
# clones publish those commits.
[phases]
publish = False

[revsetalias]
bt($1) = ::$1 - ::@


# This is complicated, but cool. For an explanation, see the following url:
# http://jordi.inversethought.com/blog/customising-mercurial-like-a-pro/
[alias]
wip = log --graph --rev=wip --template=wip

[templates]
wip = '{label("log.branch", ifeq(branch, "default", "", branch))} {label("changeset.{phase}", rev)} {label("grep.user", author|user)}{label("log.tag", if(tags," {tags}"))} {bookmarks % "{ifeq(bookmark, currentbookmark, label('log.activebookmark', bookmark), label('log.bookmark', bookmark))} "}({label("log.date", date|shortdate)})\n{label(ifcontains(rev, revset('parents()'), 'desc.here'),desc|firstline)}'

[revsetalias]
wip = (parents(not public()) or not public() or . or head()) and (not obsolete() or unstable()^) and not closed()