Skip to content

Resolve "GIT_STRATEGY: fetch fails to clean submodules"

What does this MR do?

Ensures GIT_STRATEGY: fetch restores an existing workspace to a pristine state by cleaning submodules.

Why was this MR needed?

GIT_STRATEGY: fetch currently does not clean submodules, subverting the intent that this strategy can be used to save time by restoring an existing workspace to a pristine state without the need for a fresh clone.

Are there points in the code the reviewer needs to double check?

No. This is a one-line change.

Does this MR meet the acceptance criteria?

The existing documentation says:

fetch is faster as it re-uses the project workspace (falling back to clone if it doesn't exist). git clean is used to undo any changes made by the last job, and git fetch is used to retrieve commits made since the last job ran.

While submodules are not explicitly addressed, the implication is that the entire workspace is cleaned. A clarifying update would be nice but is not necessary.

I have not written a test, but I imagine it would be similar to this one.

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Closes #2999 (closed)

Merge request reports