Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
We're executing a job, and trying to perform a git clean. One of our submodules is dirty, and unfortunately since the Jenkins GIT plugin cleans after checkout, we get the following error:
FATAL: Command "git submodule update --init --recursive" returned status code 1:
stdout:
stderr: error: Your local changes to the following files would be overwritten by checkout:
minified/sidecar.js
minified/sidecar.lite.js
minified/sidecar.lite.min.js
minified/sidecar.min.js
Please, commit your changes or stash them before you can switch branches.
Aborting
Unable to checkout 'd58c3304230e4bf26ffb3fa6986d4b6ba90d4c66' in submodule path 'sugarcrm/sidecar'
I tested using the Pre-SCM Buildstep plugin and performing a git clean before the checkout fixes the problem. Specifically having it perform:
git submodule foreach --recursive git clean -fdx
git submodule foreach --recursive git reset --hard
before we do the checkout fixes it.
Attachments
Issue Links
- is related to
-
JENKINS-8503 Git submodules are cloned too early and not removed once the revToBuild has been checked out
-
- Open
-
-
JENKINS-7376 git - clean before build does not clean submodules
-
- Closed
-
-
JENKINS-7445 Git doesn't clean and update submodules correctly
-
- Closed
-
-
JENKINS-8315 clean should be run before submodule update
-
- Closed
-
-
JENKINS-13910 git plugin: 'clean after checkout" does not git clean -fdx on submodules
-
- Closed
-
"Relying on the user to know when they should select "clean before checkout" and when they should "clean after checkout" seems like we're expecting too much from the users."
Totally, I agree, I ended up having to search on Google and then read through this bug report, to figure out what the difference was, and I'm still not sure I understand what the difference would be using one or the other. The root of this problem is that the help texts for these checkboxes are exactly the same except for the word "before" and "after"
I'm happy to file an issue for improving the help texts if that seems reasonable?