Skip to content
Snippets Groups Projects
  • Martin von Zweigbergk's avatar
    d5b35d69
    tests: update annotate tests to work around simplemerge bug · d5b35d69
    Martin von Zweigbergk authored
    test-annotate.t and test-fastannotate.hg were failing with --pure
    since 57203e0210f8 (copies: calculate mergecopies() based on
    pathcopies(), 2019-04-11). It turned out to be because the pure file
    merge code behaved differently. I'm guessing it's the
    mdiff.get_matching_blocks() that behaves differently, but I haven't
    confirmed that.
    
    With this content in the base:
      a
      a
      a
    
    And this on the local side:
      a
      z
      a
    
    And this on the other side:
      a
      a
      a
      b4
      c
      b6
    
    It produced this conflict:
      a
      z
      a
      <<<<<<< working copy: b80e3e32f75a - test: c
      ||||||| base
      a
      =======
      a
      b4
      c
      b5
      >>>>>>> merge rev:    64afcdf8e29e - test: mergeb
    
    I don't care enough about the pure Python code to fix it, so this
    patch just updates the tests to manually resolve the conflict.
    
    Differential Revision: https://phab.mercurial-scm.org/D6351
    d5b35d69
    History
    tests: update annotate tests to work around simplemerge bug
    Martin von Zweigbergk authored
    test-annotate.t and test-fastannotate.hg were failing with --pure
    since 57203e0210f8 (copies: calculate mergecopies() based on
    pathcopies(), 2019-04-11). It turned out to be because the pure file
    merge code behaved differently. I'm guessing it's the
    mdiff.get_matching_blocks() that behaves differently, but I haven't
    confirmed that.
    
    With this content in the base:
      a
      a
      a
    
    And this on the local side:
      a
      z
      a
    
    And this on the other side:
      a
      a
      a
      b4
      c
      b6
    
    It produced this conflict:
      a
      z
      a
      <<<<<<< working copy: b80e3e32f75a - test: c
      ||||||| base
      a
      =======
      a
      b4
      c
      b5
      >>>>>>> merge rev:    64afcdf8e29e - test: mergeb
    
    I don't care enough about the pure Python code to fix it, so this
    patch just updates the tests to manually resolve the conflict.
    
    Differential Revision: https://phab.mercurial-scm.org/D6351
test-annotate.t 22.91 KiB
  $ cat >> "$HGRCPATH" << EOF
  > [ui]
  > merge = :merge3
  > EOF

init

  $ hg init repo
  $ cd repo

commit

  $ echo 'a' > a
  $ hg ci -A -m test -u nobody -d '1 0'
  adding a

annotate -c

  $ hg annotate -c a
  8435f90966e4: a

annotate -cl

  $ hg annotate -cl a
  8435f90966e4:1: a

annotate -d

  $ hg annotate -d a
  Thu Jan 01 00:00:01 1970 +0000: a

annotate -n

  $ hg annotate -n a
  0: a

annotate -nl

  $ hg annotate -nl a
  0:1: a

annotate -u

  $ hg annotate -u a
  nobody: a

annotate -cdnu

  $ hg annotate -cdnu a
  nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000: a

annotate -cdnul

  $ hg annotate -cdnul a
  nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000:1: a

annotate (JSON)

  $ hg annotate -Tjson a
  [
   {
    "lines": [{"line": "a\n", "rev": 0}],
    "path": "a"
   }
  ]

  $ hg annotate -Tjson -cdfnul a
  [
   {
    "lines": [{"date": [1.0, 0], "line": "a\n", "lineno": 1, "node": "8435f90966e442695d2ded29fdade2bac5ad8065", "path": "a", "rev": 0, "user": "nobody"}],