view tests/test-issue612.t @ 20519:cda9d2b6beab

template: add revset() template function Adds a template function that executes a revset and returns the list of revisions as the result. It has the signature 'revset(query [, args...])'. The args are optional and are applied to the query string using the standard python string.format(args) pattern. This allows things like: '{revset("parents({0})", rev)}' to produce the parents of each individual commit in the log output. If no args are specified, the revset result is cached for the duration of the templater; so it's better to not use args if performance is a concern. By itself, revset() can be used to print commit parents, print the common ancestor of a commit with the main branch, etc. It can be used with the ifcontains() function to do things like '{ifcontains(rev, revset('.'), label(...), ...)}' to color the working copy parent, to color certain branches, to color draft commits, etc.
author Durham Goode <durham@fb.com>
date Tue, 11 Feb 2014 21:04:12 -0800
parents 0776a6cababe
children 2fc86d92c4a9
line wrap: on
line source

http://mercurial.selenic.com/bts/issue612

  $ hg init
  $ mkdir src
  $ echo a > src/a.c
  $ hg ci -Ama
  adding src/a.c

  $ hg mv src source
  moving src/a.c to source/a.c (glob)

  $ hg ci -Ammove

  $ hg co -C 0
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ echo new > src/a.c
  $ echo compiled > src/a.o
  $ hg ci -mupdate
  created new head

  $ hg status
  ? src/a.o

  $ hg merge
  merging src/a.c and source/a.c to source/a.c
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

  $ hg status
  M source/a.c
  R src/a.c
  ? src/a.o