Skip to content
Snippets Groups Projects
  1. Jul 28, 2022
  2. Jul 27, 2022
  3. Jul 26, 2022
  4. Jul 19, 2022
    • Matt Harbison's avatar
      packaging: bump dulwich to 0.20.45 · 98645c1bfeaa
      Matt Harbison authored
      I'm told the new dulwich avoids hg-git test failures.
      98645c1bfeaa
    • Matt Harbison's avatar
      packaging: update keyring on Windows to avoid spurious stacktraces · 9d427cc2e742
      Matt Harbison authored
      When challenged for a network password, this would spew on Windows before it
      actually used the stored password:
      
      ```
      Error initializing plugin EntryPoint(name='libsecret', value='keyring.backends.libsecret', group='keyring.backends').
      Traceback (most recent call last):
        File "keyring.backend", line 198, in _load_plugins
          init_func = ep.load()
        File "importlib.metadata", line 77, in load
          module = import_module(match.group('module'))
        File "importlib", line 127, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
        File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
      ModuleNotFoundError: No module named 'keyring.backends.libsecret'
      Error initializing plugin EntryPoint(name='macOS', value='keyring.backends.macOS', group='keyring.backends').
      Traceback (most recent call last):
        File "keyring.backend", line 198, in _load_plugins
          init_func = ep.load()
        File "importlib.metadata", line 77, in load
          module = import_module(match.group('module'))
        File "importlib", line 127, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
        File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
      ModuleNotFoundError: No module named 'keyring.backends.macOS'
      ```
      
      We're kinda threading a needle here because the next version of `keyring`
      (currently at 23.7.0) requires `importlib-metadata` 3.6+, which PyOxidizer 0.22
      doesn't support[1].
      
      [1] https://github.com/indygreg/PyOxidizer/issues/609
      9d427cc2e742
    • Georges Racinet's avatar
      mergestate: action name was str · 34e15bbab67c
      Georges Racinet authored
      Apparently the standard for them is still to use byte strings.
      Found while looking at something else
      34e15bbab67c
  5. Jul 13, 2022
    • Ondřej Pohořelský's avatar
      sslutil: another use proper attribute to select python 3.7+ · 4a1f0bc0713e
      Ondřej Pohořelský authored
      The previous attribute was python 3.6+, but guarded a python 3.7+ block
      
      Using the correct attribute avoids:
      +    File "/tmp/hgtests.bc0_uk2d/install/lib/python/mercurial/sslutil.py", line 577, in wrapserversocket
      +      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
      +  AttributeError: module 'ssl' has no attribute 'TLSVersion'
      4a1f0bc0713e
  6. Jul 12, 2022
    • Mathias De Mare's avatar
      sslutil: use proper attribute to select python 3.7+ · be3828081624
      Mathias De Mare authored
      The previous attribute was python 3.6+, but guarded a python 3.7+ block.
      
      Using the correct attribute avoids:
        File "/usr/lib64/python3.6/site-packages/mercurial/sslutil.py", line 334, in wrapsocket
          sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
      AttributeError: module 'ssl' has no attribute 'TLSVersion'
      be3828081624
  7. Jul 06, 2022
  8. Jul 04, 2022
  9. Jul 11, 2022
  10. Jul 10, 2022
    • Manuel Jacob's avatar
      procutil: make stream detection in make_line_buffered more correct and strict · 094a5fa3cf52
      Manuel Jacob authored
      In make_line_buffered(), we don’t want to wrap the stream if we know that lines
      get flushed to the underlying raw stream already.
      
      Previously, the heuristic was too optimistic. It assumed that any stream which
      is not an instance of io.BufferedIOBase doesn’t need wrapping. However, there
      are buffered streams that aren’t instances of io.BufferedIOBase, like
      Mercurial’s own winstdout.
      
      The new logic is different in two ways:
      
      First, only for the check, if unwraps any combination of WriteAllWrapper and
      winstdout.
      
      Second, it skips wrapping the stream only if it is an instance of io.RawIOBase
      (or already wrapped). If it is an instance of io.BufferedIOBase, it gets
      wrapped. In any other case, the function raises an exception. This ensures
      that, if an unknown stream is passed or we add another wrapper in the future,
      we don’t wrap the stream if it’s already line buffered or not wrap the stream
      if it’s not line buffered. In fact, this was already helpful during development
      of this change. Without it, I possibly would have forgot that WriteAllWrapper
      needs to be ignored for the check, leading to unnecessary wrapping if stdout is
      unbuffered.
      
      The alternative would have been to always wrap unknown streams. However, I
      don’t think that anyone would benefit from being less strict. We can expect
      streams from the standard library to be subclassing either io.RawIOBase or
      io.BufferedIOBase, so running Mercurial in the standard way should not regress
      by this change. Py2exe might replace sys.stdout and sys.stderr, but that
      currently breaks Mercurial anyway and also these streams don’t claim to be
      interactive, so this function is not called for them.
      6.2
      094a5fa3cf52
  11. Jul 05, 2022
  12. May 25, 2022
  13. May 18, 2022
  14. Jun 12, 2022
  15. Jun 15, 2022
    • Ian Moody's avatar
      convert: remove old ElementTree import cruft from darcs · 1572f790ee5e
      Ian Moody authored
      All the `import elementtree` attempts seem to pre-date py2.5, when it was
      brought into the standard library, and the manual `cElementTree` fast
      implementation import has been unnecessary and deprecated since py3.3.
      1572f790ee5e
  16. Jun 16, 2022
  17. Jun 10, 2022
Loading