view tests/test-obsolete-tag-cache.t @ 24189:8b4b9ee6001a

log: make -fr show complete history from the given revs Right now it's very obtuse to show the history of a particular rev (hg log -r 'reverse(::foo)'). This changes the -f option to make it follow history for the revs specified by -r. The current -f -r behavior is to limit the result of -r to only the commits that are ancestors of the current working copy. Changing this is a bit of a BC break, but the old behavior is A) rare, B) easy to emulate (& ::.), and C) currently undefined. The new behavior is frequently requested enough that I think the change is worth it.
author Durham Goode <durham@fb.com>
date Fri, 06 Feb 2015 11:04:55 -0800
parents a35b59d4df33
children b061a2049662
line wrap: on
line source

  $ cat >> $HGRCPATH << EOF
  > [extensions]
  > rebase=
  > 
  > [experimental]
  > evolution = createmarkers
  > EOF

Create a repo with some tags

  $ hg init repo
  $ cd repo
  $ echo initial > foo
  $ hg -q commit -A -m initial
  $ hg tag -m 'test tag' test1
  $ echo first > first
  $ hg -q commit -A -m first
  $ hg tag -m 'test2 tag' test2
  $ hg -q up -r 0
  $ echo newhead > newhead
  $ hg commit -A -m newhead
  adding newhead
  created new head

Trigger tags cache population by doing something that accesses tags info

  $ hg log -G -T '{rev}:{node|short} {tags} {desc}\n'
  @  4:042eb6bfcc49 tip newhead
  |
  | o  3:c3cb30f2d2cd  test2 tag
  | |
  | o  2:d75775ffbc6b test2 first
  | |
  | o  1:5f97d42da03f  test tag
  |/
  o  0:55482a6fb4b1 test1 initial
  

  $ cat .hg/cache/tags
  4 042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41
  3 c3cb30f2d2cd0aae008cc91a07876e3c5131fd22 b3bce87817fe7ac9dca2834366c1d7534c095cf1
  
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
  d75775ffbc6bca1794d300f5571272879bd280da test2

Create some hidden changesets via a rebase and trigger tags cache
repopulation

  $ hg -q rebase -s 1 -d 4
  $ hg log -G -T '{rev}:{node|short} {tags} {desc}\n'
  o  7:eb610439e10e tip test2 tag
  |
  o  6:7b4af00c3c83  first
  |
  o  5:43ac2a539b3c  test tag
  |
  @  4:042eb6bfcc49  newhead
  |
  o  0:55482a6fb4b1 test1 initial
  

.hgtags filenodes for hidden heads should be visible (issue4550)
(currently broken)

  $ cat .hg/cache/tags
  7 eb610439e10e0c6b296f97b59624c2e24fc59e30 b3bce87817fe7ac9dca2834366c1d7534c095cf1
  
  55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
  d75775ffbc6bca1794d300f5571272879bd280da test2