view tests/test-absorb-edit-lines.t @ 40747:380a1f73830f

perf: disable revlogs clearing in `perftags` by default This aligns things with what `perfbookmarks` does. I decided to disable the revlogs clearing by default to focus on the core logic by default, ignoring side effects. If we prefer to emphasize the side effect, we can instead keep this on in `perftags` and enable it by default in `perfbookmarks`.
author Boris Feld <boris.feld@octobus.net>
date Tue, 20 Nov 2018 17:44:24 +0000
parents 31dfa7dac4c9
children 3cd57e2be49b
line wrap: on
line source

  $ cat >> $HGRCPATH << EOF
  > [extensions]
  > absorb=
  > EOF

  $ hg init repo1
  $ cd repo1

Make some commits:

  $ for i in 1 2 3; do
  >   echo $i >> a
  >   hg commit -A a -m "commit $i" -q
  > done

absorb --edit-lines will run the editor if filename is provided:

  $ hg absorb --edit-lines --apply-changes
  nothing applied
  [1]
  $ HGEDITOR=cat hg absorb --edit-lines --apply-changes a
  HG: editing a
  HG: "y" means the line to the right exists in the changeset to the top
  HG:
  HG: /---- 4ec16f85269a commit 1
  HG: |/--- 5c5f95224a50 commit 2
  HG: ||/-- 43f0a75bede7 commit 3
  HG: |||
      yyy : 1
       yy : 2
        y : 3
  nothing applied
  [1]

Edit the file using --edit-lines:

  $ cat > editortext << EOF
  >       y : a
  >      yy :  b
  >      y  : c
  >     yy  : d  
  >     y y : e
  >     y   : f
  >     yyy : g
  > EOF
  $ HGEDITOR='cat editortext >' hg absorb -q --edit-lines --apply-changes a
  $ hg cat -r 0 a
  d  
  e
  f
  g
  $ hg cat -r 1 a
   b
  c
  d  
  g
  $ hg cat -r 2 a
  a
   b
  e
  g