• Krasimir Angelov's avatar
    Add project level git depth setting · ad9ae16d
    Krasimir Angelov authored
    Introduce default_git_depth in project's CI/CD settings and set it to
    50. Use it if there is no GIT_DEPTH variable specified. Apply this
    default only to newly created projects and keep it nil for old ones
    in order to not break pipelines that rely on non-shallow clones.
    
    default_git_depth can be updated from CI/CD Settings in the UI, must be
    either nil or integer between 0 and 1000 (incl).
    
    Inherit default_git_depth from the origin project when forking projects.
    
    MR pipelines are run on a MR ref (refs/merge-requests/:iid/merge) and it
    contains unique commit (i.e. merge commit) which doesn't exist in the
    other branch/tags refs. We need to add it cause otherwise it may break
    pipelines for old projects that have already enabled Pipelines for merge
    results and have git depth 0.
    
    Document new default_git_depth project CI/CD setting
    ad9ae16d
project.rb 69.3 KB