Skip to content
Snippets Groups Projects
  1. Jun 04, 2024
    • Antoine Lambert's avatar
      loader: Ensure to fetch latest snapshot produced by a git visit type · a8a5077a
      Antoine Lambert authored
      SWH data model allows an origin to have multiple visit types, in particular
      a git origin can have visit types 'git' and 'git-checkout'.
      
      We must ensure to retrieve the latest snapshot for a git visit type in the
      git loader implementation as it can break incremental loading of a git origin
      having both visit types mentioned above.
      
      Indeed a 'git-checkout' visit type produces a snapshot with a single branch
      while a 'git' visit type produces a snapshot containing all branches of the
      loaded repository. Previously, if the latest snapshot retrieved was produced
      by a 'git-checkout' visit type, the loader would refetch all branches and
      associated git objects while most of them have already been archived.
      
      Related to swh/meta#5092.
      a8a5077a
  2. May 30, 2024
  3. May 15, 2024
  4. Mar 29, 2024
  5. Feb 26, 2024
  6. Feb 22, 2024
    • Antoine Lambert's avatar
      dumb: Synchronize fetch_pack behavior with smart loader · b7d16897
      Antoine Lambert authored
      As with the smart git loader, restrain the maximum size for a pack file
      to download.
      
      Move the code writing pack data bytes and checking size in an utility
      class to avoid code duplication.
      
      Add missing tests covering the cases where the pack size limit is reached.
      v2.11.0
      b7d16897
    • Antoine Lambert's avatar
      dumb: Fix streaming of HTTP responses · 64ac0204
      Antoine Lambert authored
      When using the requests library to perform HTTP requests, if responses
      need to be streamed the stream parameter must be set to True to ensure
      content is downloaded by chunks.
      
      Previously, a whole HTTP response was cached in memory which could lead
      to OOM errors when dealing with a repository with large pack files.
      64ac0204
  7. Feb 20, 2024
  8. Feb 05, 2024
  9. Feb 02, 2024
  10. Jan 29, 2024
  11. Jan 24, 2024
  12. Jan 16, 2024
  13. Jan 08, 2024
  14. Dec 05, 2023
  15. Dec 04, 2023
  16. Dec 03, 2023
  17. Nov 27, 2023
  18. Nov 20, 2023
  19. Nov 17, 2023
  20. Oct 09, 2023
  21. Oct 05, 2023
    • Antoine Lambert's avatar
      directory: Fix a couple of edge case issues in checkout_repository_ref · 2e2e0fc1
      Antoine Lambert authored
      Ensure to remove trailing slash in git URL when computing its basename
      as an empty string is returned otherwise.
      
      When a shallow fetch failed, typically when the ref is a commit short
      hash, retry a full fetch in order for ref checkout to succeed.
      
      Related to #4751.
      v2.7.1
      2e2e0fc1
    • Antoine Lambert's avatar
      directory: Align process to checkout a remote git ref with guix one · 299aea82
      Antoine Lambert authored
      It has been observed that the process used by SWH to checkout a remote
      git reference can lead to different recursive nar hash values compared
      to those computed by guix. This seems related to CR/LF normalization.
      
      So prefer to align the process to checkout a remote git reference with
      the one used by guix. It seems also faster than the previous approach.
      
      Also refine the not found repository detection process as previously
      some non related git errors could be missed.
      
      Related to #4751.
      v2.7.0
      299aea82
  22. Sep 18, 2023
    • Antoine Lambert's avatar
      directory: Refine the way submodules are handled · f9c18e78
      Antoine Lambert authored
      The git directory loader is used to archive guix source packages where
      source code is located in a git repository at a specific reference.
      
      To ensure SWH archives the exact same set of source code files for a
      guix package, the recursive NAR hash of the source code directory is
      computed and compared against the one computed by guix.
      
      Previously the loader was always fetching git submodules if some were
      set for the git repository but guix only fetch those for a couple of
      packages and not for all git based ones. This could result in directory
      hash mismatch when the loader fetches the submodules while it should
      have not.
      
      In order to woraround this, first compute the NAR hash without fetching
      submodules and if this results in a directory hash mismatch then retry
      the operation with the submodules fetched.
      
      Related to #4751.
      v2.6.2
      f9c18e78
  23. Aug 24, 2023
  24. Aug 22, 2023
  25. Aug 21, 2023
    • Antoine R. Dumont's avatar
      directory: Use treeless cloning to make the cloning step faster · d31997e0
      Antoine R. Dumont authored
      Inspired from the pip cloning step [1]. This makes the cloning steps only fetch the
      commit information and the tree at the current heads. Then a subsequent
      switch (checkout) retrieves the tree at the reference we want. In effect, this retrieves
      way faster the necessary tree needed to ingest the repository.
      
      [1] it uses a blobless cloning though.
  26. Aug 07, 2023
Loading