Skip to content
Snippets Groups Projects
  1. Feb 17, 2025
  2. Sep 10, 2024
  3. Aug 30, 2024
  4. Aug 27, 2024
  5. May 30, 2024
  6. May 15, 2024
  7. May 03, 2024
  8. Mar 29, 2024
  9. Feb 05, 2024
  10. Jan 25, 2024
  11. Dec 05, 2023
  12. Dec 03, 2023
  13. Nov 28, 2023
  14. Jun 09, 2023
  15. May 24, 2023
  16. Mar 16, 2023
    • Antoine Lambert's avatar
      loader: Fix loading when CVSROOT/config file is missing · 3303a9b2
      Antoine Lambert authored
      When using the rsync protocol the loader parses the CVSROOT/config file
      to look for a custom keyword definition.
      
      However, it exists CVS repositories where such file is missing and thus
      loadings were failing as file existence was not checked prior opening it.
      3303a9b2
  17. Feb 23, 2023
  18. Feb 17, 2023
  19. Feb 16, 2023
  20. Feb 02, 2023
  21. Dec 19, 2022
  22. Oct 20, 2022
  23. Oct 18, 2022
  24. Oct 17, 2022
    • Antoine Lambert's avatar
      test_cvsclient: Mock subprocess · 3bf543ba
      Antoine Lambert authored
      This fixes debian package builds.
      v0.5.1
      3bf543ba
    • Antoine Lambert's avatar
      loader: Yield only modified objects in process_cvs_changesets · c23d4250
      Antoine Lambert authored
      Previously, after each revision replay all files and directories of the
      CVS repository being loaded were collected and sent to the storage.
      This is a real bottleneck in terms of loading performances as it delegates
      the filtering of new objects to archive to the storage filtering proxy.
      
      As we known exactly the set of paths that have been modified in a CVS
      revision, prefer to do that filtering on the loader side and only
      send modified objects to storage instead of the whole set of contents
      and directories from the reconstructed filesystem.
      
      This should greatly improve loading performance for large repositories
      but also reduce loader memory consumption.
      v0.5.0
      c23d4250
    • Antoine Lambert's avatar
      loader: Reconstruct repo filesystem incrementally at each revision · b976aa6a
      Antoine Lambert authored
      Instead of creating a from_disk.Directory instance after each replayed
      CVS revision by recursively scanning all directories of the repository,
      prefer to have a single one as class member kept synchronized with the
      recontructed filesystem after each revision replay.
      
      This should improve loader in terms of performance, especially when
      delaing with large repositories.
      b976aa6a
    • Antoine Lambert's avatar
      rlog: Skip rlog entry with missing header in RlogConv.parse_rlog · 734207ba
      Antoine Lambert authored
      CVS rlog for a given module sent by server is a concatenation of
      rlog entries. Each entry has a header containing the path to a
      RCS file plus other info.
      
      It exist cases where a rlog entry header is empty which makes the
      rlog parsing fail.
      
      So instead of stopping rlog parsing by raising an exception, prefer
      to skip that entry and process the next one.
      
      Closes T4629
      734207ba
  25. Oct 14, 2022
    • Antoine Lambert's avatar
      loader, cvsclient: Read files line by line to reduce memory consumption · cfe7507a
      Antoine Lambert authored
      Instead of using the readlines method on file objects that retrieve all
      lines of a file and store them in memory, prefer to read files line
      by line by using the lazy generator of lines from file objects.
      
      This significantly reduce loader memory consumption when processing
      a large rlog output stored in a file.
      cfe7507a
  26. Oct 13, 2022
    • Antoine Lambert's avatar
      loader: Raise NotFound for missing CVS module when using pserver or ssh · 965c3de4
      Antoine Lambert authored
      That case was handled when using rsync protocol but not when using pserver
      or ssh protocol.
      
      Closes T4631
      965c3de4
    • Antoine Lambert's avatar
      cvsclient: Handle error in fetch_rlog when path does not exist · 356dfa27
      Antoine Lambert authored
      When attempting to fetch the rlog for a path that does not exist in
      the repository, the CVS server will respond with the following lines:
      
      E cvs rlog: could not read RCS file for <path>
      ok
      
      That error case was not handled in fetch_rlog so ensure it returns None
      when encountering it.
      
      The issue was spotted when the loader attempts to fetch more rlog data from
      Attic directories. The paths of these Attic directories are computed from
      those of the files in the repositories but it exist cases where those
      directories do not exist.
      356dfa27
  27. Sep 15, 2022
  28. Jul 11, 2022
Loading