This question is in reference to Atlassian Documentation: Configure bitbucket-pipelines.yml
Just to extend on what Johannes said: Bitbucket Pipelines uses a "shallow clone" by default to clone your repository into the build environment. If you have a large repository, a shallow clone will decrease the amount of time it takes for you repository to be cloned into the build environment. Typically you will only need to build/test recent commits, so there is no need to get the older ones.
Some deployment tools require the entire repository history in order to work. So the full clone feature exists to support these tools. There were also some issues with old tags not being in the clone (as they were more than 50 commits behind HEAD). So using a full clone (or a larger clone depth) means you can see all the tags in your repository.
If you don't hit any issues at the moment in regards to cloning, it's likely you can stick with the default.
Thanks
Phil
Hi Sean,
Try this:
clone:
depth: 5 # or some other number of commits. You can also configure 'full' if you need the entire commit history.
pipelines:
... # standard pipelines stuff from here
Look here for more details: https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html?_ga=2.243827725.922211975.1534723907-825437565.1515570924#Configurebitbucket-pipelines.yml-ci_cloneclone
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Philip Hodder,
Is it possible to define "depth" only for specific steps? I have one step that requires depth: full, but all another steps doesn't. How can I do that?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Adding `git fetch --unshallow` to that specific step's script block worked for me. E.g.,:
tags:
release/*:
- step:
script:
- git fetch --unshallow
# moar commands
Cc: @Philip Hodder
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Whoops. I missed the question. @Ihor Sviziev not at the moment. I suggest you open a feature request here for us to track: https://bitbucket.org/site/master/issues/new
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Philip Hodder issue created. https://bitbucket.org/site/master/issues/18006/define-clone-depth-only-for-specific
Thank you!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You can use it directly in step
- step: &dummy
name: Dummy step
clone:
depth: 2
script:
- echo "Hello, I am pointless"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If I shallow-clone (e.g. depth 1) and later realize I need a full clone, would I then start over or can I 'complete' the shallow clone to a full clone?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
"Clone depth" is a feature of git to reduce server load: Instead of cloning the complete repository (as usually done with git), using clone depth just clones the last clone-depth-number revisions of your repository.
In literature this is also called "shallow clone"
For example See here: Git Beyond the Basics: Using shallow clones
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As I don't use either bitbucket-cloud nor bitbucket-pipelines, I cannot say what clone depth is used for in this context
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.