view tests/test-issue6642.t @ 51721:ed28085827ec

typing: explicitly type some `mercurial.util` eol code to avoid @overload Unlike the previous commit, this makes a material difference in the generated stub file- the `pycompat.identity()` aliases generated an @overload like this: @overload def fromnativeeol(a: _T0) -> _T0: ... ... which might fail to detect a bad argument, like str. This drops the @overload for the 3 related methods, so there's a single definition for each. The `typelib.BinaryIO_Proxy` is used for subclassing (the same as was done in 8147abc05794), so that it is a `BinaryIO` type during type checking, but still inherits `object` at runtime. That way, we don't need to implement unused abstract methods.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 19 Jul 2024 16:49:46 -0400
parents 7e5be4a7cda7
children
line wrap: on
line source

hg log --debug shouldn't show different data than {file_*} template keywords
https://bz.mercurial-scm.org/show_bug.cgi?id=6642

  $ hg init issue6642
  $ cd issue6642

  $ echo a > a
  $ hg ci -qAm a
  $ echo b > b
  $ hg ci -qAm b
  $ hg up 0 -q
  $ echo c > c
  $ hg ci -qAm c
  $ hg merge -q
  $ hg ci -m merge

  $ hg log -GT '{rev} {desc} file_adds: [{file_adds}], file_mods: [{file_mods}], file_dels: [{file_dels}], files: [{files}]\n'
  @    3 merge file_adds: [], file_mods: [], file_dels: [], files: []
  |\
  | o  2 c file_adds: [c], file_mods: [], file_dels: [], files: [c]
  | |
  o |  1 b file_adds: [b], file_mods: [], file_dels: [], files: [b]
  |/
  o  0 a file_adds: [a], file_mods: [], file_dels: [], files: [a]
  

  $ hg log -r . --debug | grep files
  [1]
  $ hg log -r . --debug -T json | grep -E '(added|removed|modified)'
    "added": [],
    "modified": [],
    "removed": [],
  $ hg log -r . --debug -T xml | grep path
  <paths>
  </paths>