@@ -319,26 +319,32 @@ variables:
319319 - *git_init
320320 - *git_fetch_from_mirror_url_if_exists
321321 - |
322+ # Store the diff output in a temporary file
323+ TEMP_FILE=$(mktemp)
322324 # merged results pipelines, by default
323325 if [[ -n $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ]]; then
324326 git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
325327 git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
326- export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA)
328+ git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA > "$TEMP_FILE"
329+ GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
327330 git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
328331 # merge request pipelines, when the mr got conflicts
329332 elif [[ -n $CI_MERGE_REQUEST_DIFF_BASE_SHA ]]; then
330333 git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
331334 git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
332- export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA)
335+ git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
336+ GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
333337 # other pipelines, like the protected branches pipelines
334338 elif [[ "$CI_COMMIT_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]]; then
335339 git fetch origin $CI_COMMIT_BEFORE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
336340 git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
337- export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA)
341+ git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
342+ GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
338343 else
339344 # pipeline source could be web, scheduler, etc.
340345 git fetch origin $CI_COMMIT_SHA --depth=2 ${GIT_FETCH_EXTRA_FLAGS}
341- export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA)
346+ git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA > "$TEMP_FILE"
347+ GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
342348 fi
343349 - *git_checkout_ci_commit_sha
344350 - *common-before_scripts
0 commit comments