| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor the update logic to make it easier to follow. The following
fixes/improvements are some consequences of this change:
* Absorb a confusing git checkout failure message when the failure
is allowed and we act on that failure appropriately.
* Fix an unnecessary fetch in some scenarios when checking out a
git hash we already have locally.
* Stash and restore any local changes even when not rebasing.
* Avoid unsafe rebasing where we are not on a branch that is
already tracking the requested branch.
* When fetching, use --tags --force to ensure we get all the tags
and commits leading up to them regardless of whether the tags
are on branches or not. Also update our local tags if they move
on the remote.
Fixes: #20677
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
76fdeb6d13 Tests: FindGit already provides the git version, re-use it
315a200f0c FindGit: Cache the GIT_EXECUTABLE version for the current run
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5712
|
| | |
|
|/
|
|
|
|
| |
The change to the binary gitrepo.tgz file adds a commit which
adds a .gitignore file.
Fixes: #21278
|
|
|
|
|
|
|
| |
Since 3.19, CMake generates a deprecation warning when using a minimum
version less than 2.8.12. This eliminates those warnings generated
during tests, which are typically hidden from the user and developer but
are being generated nonetheless.
|
|
|
|
|
|
|
| |
The ExternalProject module cannot be implemented in the Xcode "new build
system" without using CMP0114's NEW behavior. When configuring for that
build system, warn if the policy is not set to NEW and use NEW behavior
anyway.
|
|
|
|
|
|
|
|
|
|
| |
Commit 0aea435aa1 (ExternalProject: Provide choice of
git update strategies, 2020-02-12) added the git update
strategies, but the CHECKOUT strategy was not handling
remote refs correctly. The local ref would be checked out
instead and no warning or error would have been emitted.
The test that should have caught this was also malformed
and did not actually move the local master branch as intended.
|
|
|
|
|
| |
Fixes: #16528
Co-Authored-By: Michael Wake <macwake@gmail.com>
|
|
|
|
|
|
|
|
| |
The purpose of the `update` step is to run an update on each build
(subject to `UPDATE_DISCONNECTED`). This is done for version-controlled
source directories. We should do it for a custom `UPDATE_COMMAND` too.
In particular, when `UPDATE_DISCONNECTED` is used we expect the
`skip-update` step to exist.
|
|
|
|
|
| |
The Debian package checker tool (lintian) detected several typos in
CMake.
|
| |
|
| |
|
|
|
|
| |
This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
|
|
|
|
|
| |
Propagate CMAKE_GENERATOR_PLATFORM through the test hierarchy so that all
tests can build with the selected generator platform, if any.
|
|
|
|
| |
s/CMAKE_TEST_GENERATOR/CMAKE_GENERATOR/g
|
|
|
|
|
| |
Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all
tests can build with the selected generator toolset, if any.
|
| |
|
|
|
|
|
|
|
| |
The performance feature of only performing a git fetch when needed
during the ExternalProject update step is verified during the test.
A fetch is identified by removing the FETCH_HEAD file and checking for
its reincarnation.
|
|
|
|
|
| |
This prepares the numberous tests that occur in the ExternalProjectUpdate
test. The tests were passing previously because a fresh build was not performed.
|
|
|
|
|
| |
Remote git refs always require a git fetch, because the remote may move around
where the ref points.
|
|
Tests are added for UPDATE_COMMAND to ensure it is working properly. Testing
infrastructure is added along with tests for Git, but tests for other version
control systems could easily be added in the future.
|