`composer require` fails because “Source directory docroot/core has uncommitted changes”
Symptom: You have a script that fails while executing a composer require
command, resulting in output like the following:
$ ./example.sh
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
In VcsDownloader.php line 242:
Source directory docroot/core has uncommitted changes.
Attempting to execute the offending composer require
command manually results in output like the following:
$ composer require drupal/examples
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
The package has modified files:
M core.services.yml
M includes/install.core.inc
M includes/install.inc
M lib/Drupal/Core/Config/ConfigInstaller.php
M lib/Drupal/Core/Config/ExtensionInstallStorage.php
M lib/Drupal/Core/Config/InstallStorage.php
M lib/Drupal/Core/Entity/EntityViewBuilder.php
M lib/Drupal/Core/EventSubscriber/ConfigImportSubscriber.php
M lib/Drupal/Core/Extension/ExtensionDiscovery.php
M lib/Drupal/Core/Extension/ModuleExtensionList.php
19 more files modified, choose "v" to view the full list
Discard changes [y,n,v,d,?]?
Conditions: You are using Composer to manage your Drupal site dependencies and applying patches with cweagans/composer-patches
. You may be using Acquia BLT.
8 composer patches
add a comment |
Symptom: You have a script that fails while executing a composer require
command, resulting in output like the following:
$ ./example.sh
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
In VcsDownloader.php line 242:
Source directory docroot/core has uncommitted changes.
Attempting to execute the offending composer require
command manually results in output like the following:
$ composer require drupal/examples
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
The package has modified files:
M core.services.yml
M includes/install.core.inc
M includes/install.inc
M lib/Drupal/Core/Config/ConfigInstaller.php
M lib/Drupal/Core/Config/ExtensionInstallStorage.php
M lib/Drupal/Core/Config/InstallStorage.php
M lib/Drupal/Core/Entity/EntityViewBuilder.php
M lib/Drupal/Core/EventSubscriber/ConfigImportSubscriber.php
M lib/Drupal/Core/Extension/ExtensionDiscovery.php
M lib/Drupal/Core/Extension/ModuleExtensionList.php
19 more files modified, choose "v" to view the full list
Discard changes [y,n,v,d,?]?
Conditions: You are using Composer to manage your Drupal site dependencies and applying patches with cweagans/composer-patches
. You may be using Acquia BLT.
8 composer patches
add a comment |
Symptom: You have a script that fails while executing a composer require
command, resulting in output like the following:
$ ./example.sh
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
In VcsDownloader.php line 242:
Source directory docroot/core has uncommitted changes.
Attempting to execute the offending composer require
command manually results in output like the following:
$ composer require drupal/examples
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
The package has modified files:
M core.services.yml
M includes/install.core.inc
M includes/install.inc
M lib/Drupal/Core/Config/ConfigInstaller.php
M lib/Drupal/Core/Config/ExtensionInstallStorage.php
M lib/Drupal/Core/Config/InstallStorage.php
M lib/Drupal/Core/Entity/EntityViewBuilder.php
M lib/Drupal/Core/EventSubscriber/ConfigImportSubscriber.php
M lib/Drupal/Core/Extension/ExtensionDiscovery.php
M lib/Drupal/Core/Extension/ModuleExtensionList.php
19 more files modified, choose "v" to view the full list
Discard changes [y,n,v,d,?]?
Conditions: You are using Composer to manage your Drupal site dependencies and applying patches with cweagans/composer-patches
. You may be using Acquia BLT.
8 composer patches
Symptom: You have a script that fails while executing a composer require
command, resulting in output like the following:
$ ./example.sh
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
In VcsDownloader.php line 242:
Source directory docroot/core has uncommitted changes.
Attempting to execute the offending composer require
command manually results in output like the following:
$ composer require drupal/examples
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
The package has modified files:
M core.services.yml
M includes/install.core.inc
M includes/install.inc
M lib/Drupal/Core/Config/ConfigInstaller.php
M lib/Drupal/Core/Config/ExtensionInstallStorage.php
M lib/Drupal/Core/Config/InstallStorage.php
M lib/Drupal/Core/Entity/EntityViewBuilder.php
M lib/Drupal/Core/EventSubscriber/ConfigImportSubscriber.php
M lib/Drupal/Core/Extension/ExtensionDiscovery.php
M lib/Drupal/Core/Extension/ModuleExtensionList.php
19 more files modified, choose "v" to view the full list
Discard changes [y,n,v,d,?]?
Conditions: You are using Composer to manage your Drupal site dependencies and applying patches with cweagans/composer-patches
. You may be using Acquia BLT.
8 composer patches
8 composer patches
asked Dec 11 '18 at 21:03
TravisCardenTravisCarden
1688
1688
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Explanation: The problem is that cweagans/composer-patches
is applying patches to Drupal Core after cloning it, leading Composer to believe you've modified the affected files and therefore to prompt you to overwrite them lest you unwittingly lose work in progress.
Solution: Configure Composer to discard-changes
which "[sets] the default style of handling dirty updates when in non-interactive mode... [to] always discard changes in vendors", then modify your script to pass the --no-interaction
(or -n
) flag. E.g.:
$ composer config discard-changes true
$ composer require -n drupal/examples
Using version 1.x-dev for drupal/examples
./composer.json has been updated
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
Deleting docroot/core - deleted
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
No patches supplied.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (8.6.x-dev 8dbf42a): Cloning 8dbf42a90c from cache
- Applying patches for drupal/core
https://www.drupal.org/files/issues/2869592-remove-update-warning-7.patch (2869592 - Disabled update module shouldn't produce a status report warning)
https://www.drupal.org/files/issues/2885441-2.patch (2885441 - EntityReferenceAutocompleteWidget should define its size setting as an integer)
https://www.drupal.org/files/issues/2018-09-24/2815221-109.patch (2815221 - Add quickedit to the latest-revision route)
https://www.drupal.org/files/issues/2018-10-12/1356276-531.patch (1356276 - Allow profiles to define a base/parent profile and load them in the correct order)
https://www.drupal.org/files/issues/2018-07-09/2914389-8-do-not-test.patch (2914389 - Allow profiles to exclude dependencies of their parent)
Writing lock file
Generating autoload files
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "220"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f273859%2fcomposer-require-fails-because-source-directory-docroot-core-has-uncommitted%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Explanation: The problem is that cweagans/composer-patches
is applying patches to Drupal Core after cloning it, leading Composer to believe you've modified the affected files and therefore to prompt you to overwrite them lest you unwittingly lose work in progress.
Solution: Configure Composer to discard-changes
which "[sets] the default style of handling dirty updates when in non-interactive mode... [to] always discard changes in vendors", then modify your script to pass the --no-interaction
(or -n
) flag. E.g.:
$ composer config discard-changes true
$ composer require -n drupal/examples
Using version 1.x-dev for drupal/examples
./composer.json has been updated
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
Deleting docroot/core - deleted
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
No patches supplied.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (8.6.x-dev 8dbf42a): Cloning 8dbf42a90c from cache
- Applying patches for drupal/core
https://www.drupal.org/files/issues/2869592-remove-update-warning-7.patch (2869592 - Disabled update module shouldn't produce a status report warning)
https://www.drupal.org/files/issues/2885441-2.patch (2885441 - EntityReferenceAutocompleteWidget should define its size setting as an integer)
https://www.drupal.org/files/issues/2018-09-24/2815221-109.patch (2815221 - Add quickedit to the latest-revision route)
https://www.drupal.org/files/issues/2018-10-12/1356276-531.patch (1356276 - Allow profiles to define a base/parent profile and load them in the correct order)
https://www.drupal.org/files/issues/2018-07-09/2914389-8-do-not-test.patch (2914389 - Allow profiles to exclude dependencies of their parent)
Writing lock file
Generating autoload files
add a comment |
Explanation: The problem is that cweagans/composer-patches
is applying patches to Drupal Core after cloning it, leading Composer to believe you've modified the affected files and therefore to prompt you to overwrite them lest you unwittingly lose work in progress.
Solution: Configure Composer to discard-changes
which "[sets] the default style of handling dirty updates when in non-interactive mode... [to] always discard changes in vendors", then modify your script to pass the --no-interaction
(or -n
) flag. E.g.:
$ composer config discard-changes true
$ composer require -n drupal/examples
Using version 1.x-dev for drupal/examples
./composer.json has been updated
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
Deleting docroot/core - deleted
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
No patches supplied.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (8.6.x-dev 8dbf42a): Cloning 8dbf42a90c from cache
- Applying patches for drupal/core
https://www.drupal.org/files/issues/2869592-remove-update-warning-7.patch (2869592 - Disabled update module shouldn't produce a status report warning)
https://www.drupal.org/files/issues/2885441-2.patch (2885441 - EntityReferenceAutocompleteWidget should define its size setting as an integer)
https://www.drupal.org/files/issues/2018-09-24/2815221-109.patch (2815221 - Add quickedit to the latest-revision route)
https://www.drupal.org/files/issues/2018-10-12/1356276-531.patch (1356276 - Allow profiles to define a base/parent profile and load them in the correct order)
https://www.drupal.org/files/issues/2018-07-09/2914389-8-do-not-test.patch (2914389 - Allow profiles to exclude dependencies of their parent)
Writing lock file
Generating autoload files
add a comment |
Explanation: The problem is that cweagans/composer-patches
is applying patches to Drupal Core after cloning it, leading Composer to believe you've modified the affected files and therefore to prompt you to overwrite them lest you unwittingly lose work in progress.
Solution: Configure Composer to discard-changes
which "[sets] the default style of handling dirty updates when in non-interactive mode... [to] always discard changes in vendors", then modify your script to pass the --no-interaction
(or -n
) flag. E.g.:
$ composer config discard-changes true
$ composer require -n drupal/examples
Using version 1.x-dev for drupal/examples
./composer.json has been updated
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
Deleting docroot/core - deleted
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
No patches supplied.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (8.6.x-dev 8dbf42a): Cloning 8dbf42a90c from cache
- Applying patches for drupal/core
https://www.drupal.org/files/issues/2869592-remove-update-warning-7.patch (2869592 - Disabled update module shouldn't produce a status report warning)
https://www.drupal.org/files/issues/2885441-2.patch (2885441 - EntityReferenceAutocompleteWidget should define its size setting as an integer)
https://www.drupal.org/files/issues/2018-09-24/2815221-109.patch (2815221 - Add quickedit to the latest-revision route)
https://www.drupal.org/files/issues/2018-10-12/1356276-531.patch (1356276 - Allow profiles to define a base/parent profile and load them in the correct order)
https://www.drupal.org/files/issues/2018-07-09/2914389-8-do-not-test.patch (2914389 - Allow profiles to exclude dependencies of their parent)
Writing lock file
Generating autoload files
Explanation: The problem is that cweagans/composer-patches
is applying patches to Drupal Core after cloning it, leading Composer to believe you've modified the affected files and therefore to prompt you to overwrite them lest you unwittingly lose work in progress.
Solution: Configure Composer to discard-changes
which "[sets] the default style of handling dirty updates when in non-interactive mode... [to] always discard changes in vendors", then modify your script to pass the --no-interaction
(or -n
) flag. E.g.:
$ composer config discard-changes true
$ composer require -n drupal/examples
Using version 1.x-dev for drupal/examples
./composer.json has been updated
Gathering patches for root package.
Removing package drupal/core so that it can be re-installed and re-patched.
- Removing drupal/core (8.6.x-dev)
Deleting docroot/core - deleted
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
Gathering patches for root package.
No patches supplied.
Gathering patches for dependencies. This might take a minute.
- Installing drupal/core (8.6.x-dev 8dbf42a): Cloning 8dbf42a90c from cache
- Applying patches for drupal/core
https://www.drupal.org/files/issues/2869592-remove-update-warning-7.patch (2869592 - Disabled update module shouldn't produce a status report warning)
https://www.drupal.org/files/issues/2885441-2.patch (2885441 - EntityReferenceAutocompleteWidget should define its size setting as an integer)
https://www.drupal.org/files/issues/2018-09-24/2815221-109.patch (2815221 - Add quickedit to the latest-revision route)
https://www.drupal.org/files/issues/2018-10-12/1356276-531.patch (1356276 - Allow profiles to define a base/parent profile and load them in the correct order)
https://www.drupal.org/files/issues/2018-07-09/2914389-8-do-not-test.patch (2914389 - Allow profiles to exclude dependencies of their parent)
Writing lock file
Generating autoload files
edited Dec 15 '18 at 3:42
answered Dec 11 '18 at 21:03
TravisCardenTravisCarden
1688
1688
add a comment |
add a comment |
Thanks for contributing an answer to Drupal Answers!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f273859%2fcomposer-require-fails-because-source-directory-docroot-core-has-uncommitted%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown