Code changed in jenkins
User: Mark Waite
Add two detailed submodule tests
Tests describe the implementation as it currently exists, in hopes
of detecting future regressions with test execution. The tests show
inconsistencies between the CliGitAPIImpl and JGitAPIImpl classes,
and inconsistencies between command line git and JGit behavior.
Command line git clean as implemented in CliGitAPIImpl does not remove
untracked submodules or files contained in untracked submodule dirs.
JGit clean as implemented in JGitAPIImpl removes untracked submodules.
This test captures that surprising difference between the implementations.
CliGitAPIImpl supports renamed submodules. JGitAPIImpl does not support
renamed submodules. One of these tests captures that difference.
See bug reports such as:
JENKINS-22510 - Clean After Checkout Results in Failed to Checkout Revision
JENKINS-8053 - Git submodules are cloned too early and not removed once the revToBuild has been checked out
JENKINS-14083 - Build can't recover from broken submodule path
JENKINS-15399 - Changing remote URL doesn't update submodules