Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shallow and concurrent git clones #10254

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Aug 16, 2024

  1. source-repository: Use git shallow clones

    Cloning the entire repository for the purpose of compiling packages
    specified in source-repository-packages is wasted effort. To read and
    compile the package, we need only the HEAD of the repository, thus a
    shallow clone is sufficient.
    
    Note that this doesn't change the behaviour of `cabal get -s` which
    still does a full clone (--depth=1 is only used in vcsSyncRepo, not in
    vcsCloneRepo)
    
    Fixes haskell#7264
    alt-romes committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    41a72a4 View commit details
    Browse the repository at this point in the history
  2. Synchronize VCS repos concurrently

    Cloning/synchronising VCS repos can be unnecessarily slow if done
    serially. By synchronizing the repos concurrently we make much better
    use of time.
    
    Introduces rerunConcurrentlyIfChanged, a Rebuild monad function that
    runs, from multiple actions, the actions that need rebuilding concurrently.
    alt-romes committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    eb4f43c View commit details
    Browse the repository at this point in the history