tests/test-merge-revert2.t
author Pulkit Goyal <7895pulkit@gmail.com>
Tue, 10 Oct 2017 02:25:03 +0530
changeset 34846 f05a6e015ecc
parent 30460 ce3a133f71b3
child 49621 55c6ebd11cb9
permissions -rw-r--r--
copies: add a config to limit the number of candidates to check in heuristics The heuristics algorithm find possible candidates for move/copy and then check whether they are actually a copy or move. In some cases, there can be lot of candidates possible which can actually slow down the algorithm. This patch introduces a config option `experimental.copytrace.movecandidateslimit` using which one can limit the candidates to check. The limit defaults to 100. Thanks to Yuya for suggesting to skip copytracing for that file with a warning. Differential Revision: https://phab.mercurial-scm.org/D987

  $ hg init

  $ echo "added file1" > file1
  $ echo "another line of text" >> file1
  $ echo "added file2" > file2
  $ hg add file1 file2
  $ hg commit -m "added file1 and file2"

  $ echo "changed file1" >> file1
  $ hg commit -m "changed file1"

  $ hg -q log
  1:dfab7f3c2efb
  0:c3fa057dd86f
  $ hg id
  dfab7f3c2efb tip

  $ hg update -C 0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg id
  c3fa057dd86f

  $ echo "changed file1" >> file1
  $ hg id
  c3fa057dd86f+

  $ hg revert --no-backup --all
  reverting file1
  $ hg diff
  $ hg status
  $ hg id
  c3fa057dd86f

  $ hg update
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg diff
  $ hg status
  $ hg id
  dfab7f3c2efb tip

  $ hg update -C 0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ echo "changed file1 different" >> file1

  $ hg update
  merging file1
  warning: conflicts while merging file1! (edit, then use 'hg resolve --mark')
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
  use 'hg resolve' to retry unresolved file merges
  [1]

  $ hg diff --nodates
  diff -r dfab7f3c2efb file1
  --- a/file1
  +++ b/file1
  @@ -1,3 +1,7 @@
   added file1
   another line of text
  +<<<<<<< working copy: c3fa057dd86f - test: added file1 and file2
  +changed file1 different
  +=======
   changed file1
  +>>>>>>> destination:  dfab7f3c2efb - test: changed file1

  $ hg status
  M file1
  ? file1.orig
  $ hg id
  dfab7f3c2efb+ tip

  $ hg revert --no-backup --all
  reverting file1
  $ hg diff
  $ hg status
  ? file1.orig
  $ hg id
  dfab7f3c2efb tip

  $ hg revert -r tip --no-backup --all
  $ hg diff
  $ hg status
  ? file1.orig
  $ hg id
  dfab7f3c2efb tip

  $ hg update -C
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg diff
  $ hg status
  ? file1.orig
  $ hg id
  dfab7f3c2efb tip