Skip to content
Snippets Groups Projects

merge stable into default

Merged Raphaël Gomès requested to merge topic/default/branching into branch/default
  1. Apr 17, 2024
  2. Apr 04, 2024
    • Arseniy Alekseyev's avatar
      wireprotoserver: ensure that output stream gets flushed on exception · 13c004b54cbe
      Arseniy Alekseyev authored
      Previously flush was happening due to Python finalizer being run on
      `BufferedWriter`. With upgrade to Python 3.11 this started randomly
      failing.
      
      My guess is that the finalizer on the raw `FileIO` object may
      be running before the finalizer of `BufferedWriter` has a chance to run.
      
      At any rate, since we're not relying on finalizers in the happy case
      we should also not rely on them in case of exception.
      13c004b54cbe
  3. Apr 15, 2024
    • Arseniy Alekseyev's avatar
      match: strengthen visit_children_set invariant, Recursive means "all files" · 74230abb2504
      Arseniy Alekseyev authored
      My previous interpretation of "Recursive" was too relaxed: I thought it
      instructed the caller to do something like this:
      
      > you can stop calling `visit_children_set` because you'll need to descend into
      > every directory recursively, but you should still check every file if it
      > matches or not
      
      Whereas the real instruction seems to be:
      
      > I guarantee that everything in this subtree matches, you can stop
      > querying the matcher for all files and dirs altogether.
      
      The evidence to support this:
      
      - the test actually passes with the stronger invariant, revealing no
      exceptions from this rule
      
      - the implementation of `visit_children_set` for `DifferenceMatcher`
      clearly relies on this requirement, so it must hold for that not to
      lead to bugs.
      74230abb2504
  4. Apr 12, 2024
  5. Apr 11, 2024
  6. Apr 04, 2024
  7. Apr 03, 2024
Loading