tests/test-issue1102.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 09 Apr 2024 02:54:12 +0200
changeset 51577 b5d494f7d28a
parent 49518 805419729e11
permissions -rw-r--r--
push: rework the computation of fallbackheads to be correct The previous computation tried to be smart but ended up being wrong. This was caught by phase movement test while reworking the phase discovery logic to be faster. The previous logic was failing to catch case where the pushed set was not based on a common heads (i.e. when the discovery seemed to have "over discovered" content, outside the pushed set) In the following graph, `e` is a common head and we `hg push -r f`. We need to detect `c` as a fallback heads and we previous failed to do so:: e | d f |/ c | b | a The performance impact of the change seems minimal. On the most impacted repository at hand (mozilla-try), the slowdown seems mostly mixed in the overall noise `hg push` but seems to be in the hundred of milliseconds order of magnitude. When using rust, we seems to be a bit faster, probably because we leverage more accelaratd internals. I added a couple of performance related common for further investigation later on.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     1
  $ rm -rf a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     2
  $ hg init a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     3
  $ cd a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     4
  $ echo a > a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     5
  $ hg ci -Am0
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     6
  adding a
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     7
  $ hg tag t1 # 1
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
     8
  $ hg tag --remove t1 # 2
6671
938eddd76237 tag: record tag we're superseding, if any (issue 1102)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
    10
  $ hg co 1
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
    11
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 11847
diff changeset
    12
  $ hg tag -f -r0 t1
11847
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
    13
  $ hg tags
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
    14
  tip                                3:a49829c4fc11
1eb77c1a281f tests: unify test-1102
Martin Geisler <mg@lazybytes.net>
parents: 6671
diff changeset
    15
  t1                                 0:f7b1eb17ad24
6671
938eddd76237 tag: record tag we're superseding, if any (issue 1102)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
49518
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    17
Ensure that the username access fails gracefully if assumptions about the
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    18
environment made by python do not hold.
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    19
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    20
#if windows
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    21
  >>> import os
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    22
  >>> from mercurial import util
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    23
  >>> os.environ.pop('LOGNAME', None) and None
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    24
  >>> os.environ.pop('USER', None) and None
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    25
  >>> os.environ.pop('LNAME', None) and None
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    26
  >>> os.environ.pop('USERNAME', None) and None
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    27
  >>> print(util.username())
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    28
  None
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    29
#endif
805419729e11 windows: gracefully handle when the username cannot be determined
Matt Harbison <matt_harbison@yahoo.com>
parents: 28251
diff changeset
    30
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13135
diff changeset
    31
  $ cd ..