tests/test-revisions.t
author Martin von Zweigbergk <martinvonz@google.com>
Mon, 07 Feb 2022 22:54:38 -0800
changeset 48760 93d6f0e7ba2f
parent 46115 be3d8178251e
permissions -rw-r--r--
filemerge: move check for identical sides out of filemerge() `filemerge.filemerge()` returns `None` if no merge was necessary because the two sides were identical. I don't think it should be that function's responsibility to handle that case; we should ideally not even call `filemerge.filemerge()` if the two inputs identical. This patch therefore moves the check out to the caller (`mergestate.py`). The largefiles test changed because we now notice that the two sides made the same change, so we don't consider it a merge. Also note that the new message better matches the line above it in the test output. Differential Revision: https://phab.mercurial-scm.org/D12154

  $ hg init repo
  $ cd repo

  $ echo 0 > a
  $ hg ci -qAm 0
  $ for i in 5 8 14 43 167; do
  >   hg up -q 0
  >   echo $i > a
  >   hg ci -qm $i
  > done
  $ cat <<EOF >> .hg/hgrc
  > [alias]
  > l = log -T '{rev}:{shortest(node,1)}\n'
  > EOF

  $ hg l
  5:00f
  4:7ba5d
  3:7ba57
  2:72
  1:9
  0:b
  $ cat <<EOF >> .hg/hgrc
  > [experimental]
  > revisions.disambiguatewithin=not 4
  > EOF
  $ hg l
  5:00
  4:7ba5d
  3:7b
  2:72
  1:9
  0:b
9 was unambiguous and still is
  $ hg l -r 9
  1:9
7 was ambiguous and still is
  $ hg l -r 7
  abort: ambiguous revision identifier: 7
  [10]
7b is no longer ambiguous
  $ hg l -r 7b
  3:7b

  $ cd ..