view tests/test-rebase-issue-noparam-single-rev.t @ 44528:c8891bca40fb

rust-status: add bare `hg status` support in hg-core A lot of performance remains to be gained, most notably by doing more things in parallel, but also by caching, not falling back to Python but switching to another regex engine, etc.. I have measured on multiple repositories that this change, when in combination with the next two patches, improve bare `hg status` performance, and has no observable impact when falling back (because it does so early). On the Netbeans repository: C: 840ms Rust+C: 556ms Mozilla Central with the one pattern that causes a fallback removed: C: 2.315s Rust+C: 1.700 s Differential Revision: https://phab.mercurial-scm.org/D7929
author Raphaël Gomès <rgomes@octobus.net>
date Fri, 17 Jan 2020 15:43:46 +0100
parents 4441705b7111
children
line wrap: on
line source

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > rebase=
  > 
  > [phases]
  > publish=False
  > 
  > [alias]
  > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
  > EOF


  $ hg init a
  $ cd a

  $ echo c1 > c1
  $ hg ci -Am c1
  adding c1

  $ echo c2 > c2
  $ hg ci -Am c2
  adding c2

  $ echo l1 > l1
  $ hg ci -Am l1
  adding l1

  $ hg up -q -C 1

  $ echo r1 > r1
  $ hg ci -Am r1
  adding r1
  created new head

  $ echo r2 > r2
  $ hg ci -Am r2
  adding r2

  $ hg tglog
  @  4: 225af64d03e6 'r2'
  |
  o  3: 8d0a8c99b309 'r1'
  |
  | o  2: 87c180a611f2 'l1'
  |/
  o  1: 56daeba07f4b 'c2'
  |
  o  0: e8faad3d03ff 'c1'
  
Rebase with no arguments - single revision in source branch:

  $ hg up -q -C 2

  $ hg rebase
  rebasing 2:87c180a611f2 "l1"
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/87c180a611f2-a5be192d-rebase.hg

  $ hg tglog
  @  4: b1152cc99655 'l1'
  |
  o  3: 225af64d03e6 'r2'
  |
  o  2: 8d0a8c99b309 'r1'
  |
  o  1: 56daeba07f4b 'c2'
  |
  o  0: e8faad3d03ff 'c1'
  
  $ cd ..


  $ hg init b
  $ cd b

  $ echo c1 > c1
  $ hg ci -Am c1
  adding c1

  $ echo c2 > c2
  $ hg ci -Am c2
  adding c2

  $ echo l1 > l1
  $ hg ci -Am l1
  adding l1

  $ echo l2 > l2
  $ hg ci -Am l2
  adding l2

  $ hg up -q -C 1

  $ echo r1 > r1
  $ hg ci -Am r1
  adding r1
  created new head

  $ hg tglog
  @  4: 8d0a8c99b309 'r1'
  |
  | o  3: 1ac923b736ef 'l2'
  | |
  | o  2: 87c180a611f2 'l1'
  |/
  o  1: 56daeba07f4b 'c2'
  |
  o  0: e8faad3d03ff 'c1'
  
Rebase with no arguments - single revision in target branch:

  $ hg up -q -C 3

  $ hg rebase
  rebasing 2:87c180a611f2 "l1"
  rebasing 3:1ac923b736ef "l2"
  saved backup bundle to $TESTTMP/b/.hg/strip-backup/87c180a611f2-b980535c-rebase.hg

  $ hg tglog
  @  4: 023181307ed0 'l2'
  |
  o  3: 913ab52b43b4 'l1'
  |
  o  2: 8d0a8c99b309 'r1'
  |
  o  1: 56daeba07f4b 'c2'
  |
  o  0: e8faad3d03ff 'c1'
  

  $ cd ..