Skip to content

Commit 8c5e0ab

Browse files
authored
fix: shallow clone submodules default [1] (#251)
1 parent dbbb8fe commit 8c5e0ab

14 files changed

+15
-15
lines changed

index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ class GithubScm extends Scm {
686686
'if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then',
687687
' export GIT_RECURSIVE_OPTION="";',
688688
'else',
689-
' export GIT_RECURSIVE_OPTION="--recursive";',
689+
' export GIT_RECURSIVE_OPTION="--recursive --shallow-submodules";',
690690
'fi'
691691
]),
692692
// Set sparse option
@@ -948,7 +948,7 @@ class GithubScm extends Scm {
948948
' if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then',
949949
' $SD_GIT_WRAPPER "git submodule init";',
950950
' else',
951-
' $SD_GIT_WRAPPER "git submodule update --init --recursive";',
951+
' $SD_GIT_WRAPPER "git submodule update --init --recursive --depth 1";',
952952
' fi;',
953953
'fi'
954954
])

test/data/childCommands.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"name": "sd-checkout-code",
3-
"command": "export SD_GIT_WRAPPER=\"$(if [ `uname` = 'Darwin' ] || [ ${SD_HAB_ENABLED:-false} = 'false' ]; then echo 'eval'; else echo 'sd-step exec core/git'; fi)\" && if [ ! -z $SD_SCM_DEPLOY_KEY ]; then export SCM_CLONE_TYPE=ssh; fi && if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then export GIT_RECURSIVE_OPTION=\"\"; else export GIT_RECURSIVE_OPTION=\"--recursive\"; fi && if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then export GIT_SPARSE_OPTION=\"--no-checkout\"; else export GIT_SPARSE_OPTION=\"\"; fi && echo Exporting environment variables && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export SCM_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/guide; else export SCM_URL=https://github.com/screwdriver-cd/guide; fi && export GIT_URL=$SCM_URL.git && export GIT_MERGE_AUTOEDIT=no && if [ ! -z $SD_SCM_DEPLOY_KEY ] && [ $SCM_CLONE_TYPE = ssh ]; then echo $SD_SCM_DEPLOY_KEY | base64 -d > /tmp/git_key && echo \"\" >> /tmp/git_key && chmod 600 /tmp/git_key && export GIT_SSH_COMMAND=\"ssh -i /tmp/git_key\" && mkdir -p ~/.ssh/ && printf \"%s\n\" \"CiAgICAgICAgSG9zdCBnaXRodWIuY29tCiAgICAgICAgICAgIFN0cmljdEhvc3RLZXlDaGVja2luZyBubwogICAgICAgIA==\" | base64 -d >> ~/.ssh/config; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ] && ! $SD_GIT_WRAPPER \"git -v\" >/dev/null 2>&1; then echo 'Skipping git config'; else echo \"Setting user name and user email\"; $SD_GIT_WRAPPER \"git config --global user.name sd-buildbot\"; $SD_GIT_WRAPPER \"git config --global user.email [email protected]\"; fi && export SD_CHECKOUT_DIR_FINAL=$SD_SOURCE_DIR && if [ ! -z $SD_CHECKOUT_DIR ]; then export SD_CHECKOUT_DIR_FINAL=$SD_CHECKOUT_DIR; fi && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/parent-to-guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export CONFIG_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/parent-to-guide; else export CONFIG_URL=https://github.com/screwdriver-cd/parent-to-guide; fi && export SD_CONFIG_DIR=$SD_ROOT_DIR/config && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning external config repo github.com/screwdriver-cd/parent-to-guide'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'master' $CONFIG_URL $SD_CONFIG_DIR\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'master' $CONFIG_URL $SD_CONFIG_DIR\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; $SD_GIT_WRAPPER \"git -C $SD_CONFIG_DIR reset --hard 54321 --\"; echo Reset external config repo to 54321; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning github.com/screwdriver-cd/guide, on branch branchName'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git fetch origin '12345'\"; else $SD_GIT_WRAPPER \"git fetch $GIT_SHALLOW_CLONE_DEPTH_OPTION origin '12345'\"; fi; $SD_GIT_WRAPPER \"git reset --hard '12345' --\"; echo 'Reset to 12345'; fi && export GIT_BRANCH='origin/branchName' && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping submodule init and update'; else if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then $SD_GIT_WRAPPER \"git submodule init\"; else $SD_GIT_WRAPPER \"git submodule update --init --recursive\"; fi; fi"
3+
"command": "export SD_GIT_WRAPPER=\"$(if [ `uname` = 'Darwin' ] || [ ${SD_HAB_ENABLED:-false} = 'false' ]; then echo 'eval'; else echo 'sd-step exec core/git'; fi)\" && if [ ! -z $SD_SCM_DEPLOY_KEY ]; then export SCM_CLONE_TYPE=ssh; fi && if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then export GIT_RECURSIVE_OPTION=\"\"; else export GIT_RECURSIVE_OPTION=\"--recursive --shallow-submodules\"; fi && if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then export GIT_SPARSE_OPTION=\"--no-checkout\"; else export GIT_SPARSE_OPTION=\"\"; fi && echo Exporting environment variables && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export SCM_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/guide; else export SCM_URL=https://github.com/screwdriver-cd/guide; fi && export GIT_URL=$SCM_URL.git && export GIT_MERGE_AUTOEDIT=no && if [ ! -z $SD_SCM_DEPLOY_KEY ] && [ $SCM_CLONE_TYPE = ssh ]; then echo $SD_SCM_DEPLOY_KEY | base64 -d > /tmp/git_key && echo \"\" >> /tmp/git_key && chmod 600 /tmp/git_key && export GIT_SSH_COMMAND=\"ssh -i /tmp/git_key\" && mkdir -p ~/.ssh/ && printf \"%s\n\" \"CiAgICAgICAgSG9zdCBnaXRodWIuY29tCiAgICAgICAgICAgIFN0cmljdEhvc3RLZXlDaGVja2luZyBubwogICAgICAgIA==\" | base64 -d >> ~/.ssh/config; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ] && ! $SD_GIT_WRAPPER \"git -v\" >/dev/null 2>&1; then echo 'Skipping git config'; else echo \"Setting user name and user email\"; $SD_GIT_WRAPPER \"git config --global user.name sd-buildbot\"; $SD_GIT_WRAPPER \"git config --global user.email [email protected]\"; fi && export SD_CHECKOUT_DIR_FINAL=$SD_SOURCE_DIR && if [ ! -z $SD_CHECKOUT_DIR ]; then export SD_CHECKOUT_DIR_FINAL=$SD_CHECKOUT_DIR; fi && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/parent-to-guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export CONFIG_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/parent-to-guide; else export CONFIG_URL=https://github.com/screwdriver-cd/parent-to-guide; fi && export SD_CONFIG_DIR=$SD_ROOT_DIR/config && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning external config repo github.com/screwdriver-cd/parent-to-guide'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'master' $CONFIG_URL $SD_CONFIG_DIR\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'master' $CONFIG_URL $SD_CONFIG_DIR\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; $SD_GIT_WRAPPER \"git -C $SD_CONFIG_DIR reset --hard 54321 --\"; echo Reset external config repo to 54321; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning github.com/screwdriver-cd/guide, on branch branchName'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git fetch origin '12345'\"; else $SD_GIT_WRAPPER \"git fetch $GIT_SHALLOW_CLONE_DEPTH_OPTION origin '12345'\"; fi; $SD_GIT_WRAPPER \"git reset --hard '12345' --\"; echo 'Reset to 12345'; fi && export GIT_BRANCH='origin/branchName' && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping submodule init and update'; else if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then $SD_GIT_WRAPPER \"git submodule init\"; else $SD_GIT_WRAPPER \"git submodule update --init --recursive --depth 1\"; fi; fi"
44
}

test/data/commands.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"name": "sd-checkout-code",
3-
"command": "export SD_GIT_WRAPPER=\"$(if [ `uname` = 'Darwin' ] || [ ${SD_HAB_ENABLED:-false} = 'false' ]; then echo 'eval'; else echo 'sd-step exec core/git'; fi)\" && if [ ! -z $SD_SCM_DEPLOY_KEY ]; then export SCM_CLONE_TYPE=ssh; fi && if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then export GIT_RECURSIVE_OPTION=\"\"; else export GIT_RECURSIVE_OPTION=\"--recursive\"; fi && if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then export GIT_SPARSE_OPTION=\"--no-checkout\"; else export GIT_SPARSE_OPTION=\"\"; fi && echo Exporting environment variables && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export SCM_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/guide; else export SCM_URL=https://github.com/screwdriver-cd/guide; fi && export GIT_URL=$SCM_URL.git && export GIT_MERGE_AUTOEDIT=no && if [ ! -z $SD_SCM_DEPLOY_KEY ] && [ $SCM_CLONE_TYPE = ssh ]; then echo $SD_SCM_DEPLOY_KEY | base64 -d > /tmp/git_key && echo \"\" >> /tmp/git_key && chmod 600 /tmp/git_key && export GIT_SSH_COMMAND=\"ssh -i /tmp/git_key\" && mkdir -p ~/.ssh/ && printf \"%s\n\" \"CiAgICAgICAgSG9zdCBnaXRodWIuY29tCiAgICAgICAgICAgIFN0cmljdEhvc3RLZXlDaGVja2luZyBubwogICAgICAgIA==\" | base64 -d >> ~/.ssh/config; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ] && ! $SD_GIT_WRAPPER \"git -v\" >/dev/null 2>&1; then echo 'Skipping git config'; else echo \"Setting user name and user email\"; $SD_GIT_WRAPPER \"git config --global user.name sd-buildbot\"; $SD_GIT_WRAPPER \"git config --global user.email [email protected]\"; fi && export SD_CHECKOUT_DIR_FINAL=$SD_SOURCE_DIR && if [ ! -z $SD_CHECKOUT_DIR ]; then export SD_CHECKOUT_DIR_FINAL=$SD_CHECKOUT_DIR; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning github.com/screwdriver-cd/guide, on branch branchName'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git fetch origin '12345'\"; else $SD_GIT_WRAPPER \"git fetch $GIT_SHALLOW_CLONE_DEPTH_OPTION origin '12345'\"; fi; $SD_GIT_WRAPPER \"git reset --hard '12345' --\"; echo 'Reset to 12345'; fi && export GIT_BRANCH='origin/branchName' && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping submodule init and update'; else if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then $SD_GIT_WRAPPER \"git submodule init\"; else $SD_GIT_WRAPPER \"git submodule update --init --recursive\"; fi; fi"
3+
"command": "export SD_GIT_WRAPPER=\"$(if [ `uname` = 'Darwin' ] || [ ${SD_HAB_ENABLED:-false} = 'false' ]; then echo 'eval'; else echo 'sd-step exec core/git'; fi)\" && if [ ! -z $SD_SCM_DEPLOY_KEY ]; then export SCM_CLONE_TYPE=ssh; fi && if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then export GIT_RECURSIVE_OPTION=\"\"; else export GIT_RECURSIVE_OPTION=\"--recursive --shallow-submodules\"; fi && if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then export GIT_SPARSE_OPTION=\"--no-checkout\"; else export GIT_SPARSE_OPTION=\"\"; fi && echo Exporting environment variables && if [ ! -z $SCM_CLONE_TYPE ] && [ $SCM_CLONE_TYPE = ssh ]; then export [email protected]:screwdriver-cd/guide; elif [ ! -z $SCM_USERNAME ] && [ ! -z $SCM_ACCESS_TOKEN ]; then export SCM_URL=https://$SCM_USERNAME:[email protected]/screwdriver-cd/guide; else export SCM_URL=https://github.com/screwdriver-cd/guide; fi && export GIT_URL=$SCM_URL.git && export GIT_MERGE_AUTOEDIT=no && if [ ! -z $SD_SCM_DEPLOY_KEY ] && [ $SCM_CLONE_TYPE = ssh ]; then echo $SD_SCM_DEPLOY_KEY | base64 -d > /tmp/git_key && echo \"\" >> /tmp/git_key && chmod 600 /tmp/git_key && export GIT_SSH_COMMAND=\"ssh -i /tmp/git_key\" && mkdir -p ~/.ssh/ && printf \"%s\n\" \"CiAgICAgICAgSG9zdCBnaXRodWIuY29tCiAgICAgICAgICAgIFN0cmljdEhvc3RLZXlDaGVja2luZyBubwogICAgICAgIA==\" | base64 -d >> ~/.ssh/config; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ] && ! $SD_GIT_WRAPPER \"git -v\" >/dev/null 2>&1; then echo 'Skipping git config'; else echo \"Setting user name and user email\"; $SD_GIT_WRAPPER \"git config --global user.name sd-buildbot\"; $SD_GIT_WRAPPER \"git config --global user.email [email protected]\"; fi && export SD_CHECKOUT_DIR_FINAL=$SD_SOURCE_DIR && if [ ! -z $SD_CHECKOUT_DIR ]; then export SD_CHECKOUT_DIR_FINAL=$SD_CHECKOUT_DIR; fi && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping cloning github.com/screwdriver-cd/guide, on branch branchName'; else echo 'Cloning github.com/screwdriver-cd/guide, on branch branchName'; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git clone $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; else if [ ! -z \"$GIT_SHALLOW_CLONE_SINCE\" ]; then export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--shallow-since='$GIT_SHALLOW_CLONE_SINCE'\"; else if [ -z $GIT_SHALLOW_CLONE_DEPTH ]; then export GIT_SHALLOW_CLONE_DEPTH=50; fi; export GIT_SHALLOW_CLONE_DEPTH_OPTION=\"--depth=$GIT_SHALLOW_CLONE_DEPTH\"; fi; export GIT_SHALLOW_CLONE_BRANCH=\"--no-single-branch\"; if [ \"$GIT_SHALLOW_CLONE_SINGLE_BRANCH\" = true ]; then export GIT_SHALLOW_CLONE_BRANCH=\"\"; fi; $SD_GIT_WRAPPER \"git clone $GIT_SHALLOW_CLONE_DEPTH_OPTION $GIT_SHALLOW_CLONE_BRANCH $GIT_SPARSE_OPTION $GIT_RECURSIVE_OPTION --quiet --progress --branch 'branchName' $SCM_URL $SD_CHECKOUT_DIR_FINAL\"; fi; if [ ! -z \"$GIT_SPARSE_CHECKOUT_PATH\" ]; then $SD_GIT_WRAPPER \"git sparse-checkout set $GIT_SPARSE_CHECKOUT_PATH\" && $SD_GIT_WRAPPER \"git checkout\"; fi; if [ ! -z $GIT_SHALLOW_CLONE ] && [ $GIT_SHALLOW_CLONE = false ]; then $SD_GIT_WRAPPER \"git fetch origin '12345'\"; else $SD_GIT_WRAPPER \"git fetch $GIT_SHALLOW_CLONE_DEPTH_OPTION origin '12345'\"; fi; $SD_GIT_WRAPPER \"git reset --hard '12345' --\"; echo 'Reset to 12345'; fi && export GIT_BRANCH='origin/branchName' && if [ ! -z $SD_SKIP_REPOSITORY_CLONE ] && [ $SD_SKIP_REPOSITORY_CLONE = true ]; then echo 'Skipping submodule init and update'; else if [ ! -z $GIT_RECURSIVE_CLONE ] && [ $GIT_RECURSIVE_CLONE = false ]; then $SD_GIT_WRAPPER \"git submodule init\"; else $SD_GIT_WRAPPER \"git submodule update --init --recursive --depth 1\"; fi; fi"
44
}

0 commit comments

Comments
 (0)