tests/test-diff-reverse.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 05 Apr 2024 11:33:47 +0200
changeset 51580 b70628a9aa7e
parent 49621 55c6ebd11cb9
permissions -rw-r--r--
phases: use revision number in new_heads All graph operations will be done using revision numbers, so passing nodes only means they will eventually get converted to revision numbers internally. As part of an effort to align the code on using revision number we make the `phases.newheads` function operated on revision number, taking them as input and using them in returns, instead of the node-id it used to consume and produce. This is part of multiple changesets effort to translate more part of the logic, but is done step by step to facilitate the identification of issue that might arise in mercurial core and extensions. To make the change simpler to handle for third party extensions, we also rename the function, using a more modern form. This will help detecting the different between the node-id version and the rev-num version. I also take this as an opportunity to add some comment about possible performance improvement for the future. They don't matter too much now, but they are worse exploring in a while.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49621
55c6ebd11cb9 tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 23080
diff changeset
     1
  $ hg init repo
55c6ebd11cb9 tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 23080
diff changeset
     2
  $ cd repo
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
     3
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     4
  $ cat > a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     5
  > a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     6
  > b
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     7
  > c
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     8
  > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
     9
  $ hg ci -Am adda
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    10
  adding a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    11
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    12
  $ cat > a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    13
  > d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    14
  > e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    15
  > f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    16
  > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    17
  $ hg ci -m moda
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
    18
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    19
  $ hg diff --reverse -r0 -r1
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    20
  diff -r 2855cdcfcbb7 -r 8e1805a3cf6e a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    21
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    22
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    23
  @@ -1,3 +1,3 @@
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    24
  -d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    25
  -e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    26
  -f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    27
  +a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    28
  +b
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    29
  +c
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
    30
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    31
  $ cat >> a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    32
  > g
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    33
  > h
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    34
  > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    35
  $ hg diff --reverse --nodates
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    36
  diff -r 2855cdcfcbb7 a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    37
  --- a/a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    38
  +++ b/a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    39
  @@ -1,5 +1,3 @@
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    40
   d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    41
   e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    42
   f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    43
  -g
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
    44
  -h
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
    45
23080
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    46
should show removed file 'a' as being added
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    47
  $ hg revert a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    48
  $ hg rm a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    49
  $ hg diff --reverse --nodates a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    50
  diff -r 2855cdcfcbb7 a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    51
  --- /dev/null
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    52
  +++ b/a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    53
  @@ -0,0 +1,3 @@
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    54
  +d
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    55
  +e
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    56
  +f
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    57
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    58
should show added file 'b' as being removed
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    59
  $ echo b >> b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    60
  $ hg add b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    61
  $ hg diff --reverse --nodates b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    62
  diff -r 2855cdcfcbb7 b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    63
  --- a/b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    64
  +++ /dev/null
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    65
  @@ -1,1 +0,0 @@
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
    66
  -b