view tests/test-close-head.t @ 42194:0da689a60163

fix: allow fixer tools to return metadata in addition to the file content With this change, fixer tools can be configured to output a JSON object that will be parsed and passed to hooks that can be used to print summaries of what code was formatted or perform other post-fixing work. The motivation for this change is to allow parallel executions of a "meta-formatter" tool to report back statistics, which are then aggregated and processed after all formatting has completed. Providing an extensible mechanism inside fix.py is far simpler, and more portable, than trying to make a tool like this communicate through some other channel. Differential Revision: https://phab.mercurial-scm.org/D6167
author Danny Hooper <hooper@google.com>
date Thu, 21 Mar 2019 18:32:45 -0700
parents 12a72729678e
children c51b103220c7
line wrap: on
line source

  $ hg init test-content
  $ cd test-content
  $ hg debugbuilddag '+2*2*3*4+7'
  $ hg bookmark -r 1 @
  $ hg log -G --template '{rev}:{node|short}'
  o  11:1d876b1f862c
  |
  o  10:ea5f71948eb8
  |
  o  9:f1b0356d867a
  |
  o  8:e8d1253fb0d7
  |
  o  7:d423bbba4459
  |
  o  6:a2f58e9c1e56
  |
  o  5:3a367db1fabc
  |
  o  4:e7bd5218ca15
  |
  | o  3:6100d3090acf
  |/
  | o  2:fa942426a6fd
  |/
  | o  1:66f7d451a68b
  |/
  o  0:1ea73414a91b
  
  $ hg --config extensions.closehead= close-head -m 'Not a head' 0 1
  abort: revision is not an open head: 0
  [255]
  $ hg --config extensions.closehead= close-head -m 'Not a head' -r 0 1
  abort: revision is not an open head: 0
  [255]
  $ hg --config extensions.closehead= close-head -m 'Close old heads' -r 1 2
  $ hg bookmark
     @                         1:66f7d451a68b
  $ hg heads
  changeset:   11:1d876b1f862c
  user:        debugbuilddag
  date:        Thu Jan 01 00:00:11 1970 +0000
  summary:     r11
  
  changeset:   3:6100d3090acf
  parent:      0:1ea73414a91b
  user:        debugbuilddag
  date:        Thu Jan 01 00:00:03 1970 +0000
  summary:     r3
  
  $ hg --config extensions.closehead= close-head -m 'Close more old heads' -r 11
  $ hg heads
  changeset:   3:6100d3090acf
  parent:      0:1ea73414a91b
  user:        debugbuilddag
  date:        Thu Jan 01 00:00:03 1970 +0000
  summary:     r3
  
  $ hg --config extensions.closehead= close-head -m 'Not a head' 0
  abort: revision is not an open head: 0
  [255]
  $ hg --config extensions.closehead= close-head -m 'Already closed head' 1
  abort: revision is not an open head: 1
  [255]

  $ hg init ../test-empty
  $ cd ../test-empty
  $ hg debugbuilddag '+1'
  $ hg log -G --template '{rev}:{node|short}'
  o  0:1ea73414a91b
  
  $ hg --config extensions.closehead= close-head -m 'Close initial revision' 0
  $ hg heads
  [1]