Commit: 149250ab92
ProcessExecutor::escape handled a false value inconsistently across
platforms, returning an emtpy string on Windows, otherwise `''`. This
is fixed to return `""` on Windows.
The GitDownloaderTest code has been appropriately updated.
This only removes the credentials if they are managed by composer auth.json or equivalent, if the credentials were present in the package URL to begin with they might remain
Refs #8293Fixes#3644Closes#3608
When creating a DownloaderMock a home config dir is
ensured to exist, so that no test fails for lack of it
that on a regular run would be set by the Factory
any tests that use the filesystem should have their own unique directory, as we run our test suite in parallel and
cleanup of tests (removing directories) should not interfere with currently running tests
This fixes a minor inaccuracy issue when creating git checkout commands
for branches.
The git checkout command used within `GitDownloader::updateToCommit()`
does not use the "`--`" sequence to separate branch from file parameters.
This leads to an inaccuary as git tries as well the branch name as file
name. If the non-existent branch is actually the name of a file, the file
is checked out. If the non-existent branch is not the name of a file, an
error message is given:
> error: pathspec 'non-existent-branch' did not match any file(s) known to
git.
Both cases are not expected for the program flow in
`GitDownloader::updateToCommit()`.
The only thing that is expected is a non-existent branch to fail to
checkout - but with a different error message:
> // reference was not found (prints "fatal: reference is not a tree:
$ref")
This can be easily fixed by adding the missing separator when constructing
the command which is applied with this commit.