I recently learned from discussions here that when FetchContent fetches a particular GIT_TAG (i.e. a Git commit hash), it first pulls in the entire repo (from pointer to GIT_REPOSITORY), then checks-out the requested GIT_TAG. Okay.
But for an existing build directory into which FetchContent has previously pulled a repo, if the GIT_TAG changes to refer to a commit not (yet) present in the build directory (i.e. _reps/), does it fetch just the missing commit or the entire repo all over again?