drush-ops / config-extra Goto Github PK
View Code? Open in Web Editor NEWHome of config-merge magic
Home of config-merge magic
After installation, I receive an error on running:
The drush command 'config-merge @dev' could not be found. Run
drush cache-clear drush to clear the commandfile cache if you have installed new [error] extensions.
After running $drush cache-clear drush it gets the same error. I am running the command on Mac 10.11.6 and from drupalvm. Doesnt work
Hi, thanks for this awesome repository. I'd love to test but when i try to install the package through composer, i bump into this error:
$ composer global require 'drush/config-extra'
Could not find package drush/config-extra at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability
Even with an up-to-date composer, the only command that worked is:
$ composer global require 'drush/config-extra:8.0.*@dev'
Maybe you need to package a release?
Currently, the destination's configuration is exported and committed before merging configuration from the source.
There are situations where this behaviour is not desirable, when the destination's database configuration is irrelevant/throw-away (say on a testing site) or the developer has already done an export and committed exactly what he/she wants from it.
So there are times when we only want to merge branch code on the destination with exported database configuration from the source, without needing anything from the destination's database.
As such, I'm proposing a --no-self-export
option which, when provided, will skip the destination export and commit.
I'm working on this currently, and am planning to have a PR for this soon.
On the destination, there is a git fetch command to grab configuration from the source. However, no repository is specified. As per the man page (emphasis mine),
When no remote is specified, by default the origin remote will be used, unless there’s an upstream branch configured for the current branch.
This is different than this Drush command, which always defaults to origin:
--remote= The remote git repository to use to fetch changes. Defaults to "origin".
The upstream branch can often be the developer's fork (named after the developer, let's say), not origin (or what I prefer to call upstream to avoid ambiguity).
So we should specify the remote repository here. I'll have a patch for this shortly.
The bug comes from _drush_cme_get_initial_vcs_state():
$uncommitted_changes = drush_shell_exec_output(); //returns an array
if (!empty($uncommitted_changes)) {
return drush_set_error('...', dt("... !changes", array('!changes' => $uncommitted_changes))); // a string should be passed, not an array
}
Easy fix:
return drush_set_error('...', dt("... !changes", array('!changes' => implode('\n', $uncommitted_changes))));
I don't submit a patch or pull request because I'm not very used to GitHub.
There is a little typo in the documentation.
drush help config-merge yields:
--remote= - The remote git branch to use to fetch changes. Defaults to "origin".
It should be:
--remote= - The remote git repository to use to fetch changes. Defaults to "origin".
I'll have a PR for this in a minute.
Is there a way to install this on a project basis or does it have to be installed globally?
Hello!
Out of the blue when doing a commit message on a config-export, weirdness starts happening.
I hate to reference another issue in a ticket, but all the magixs I tried is here:
https://github.com/kalabox/kalabox/issues/896
Long story short, this happens:
john@kalamuna:~/kalabox/apps/bakers-mission$ kbox drush config-export --commit --message="Module monkey TRILL"
info: COMPOSE => 0=--project-name, 1=bakers-mission, 2=--file, 3=/home/john/kalabox/apps/bakers-mission/kalabox-compose.yml, 4=--file, 5=/home/john/kalabox/apps/bakers-mission/kalabox-cli.yml, 6=--file, 7=/home/john/kalabox/apps/bakers-mission/kalabox-cli.yml, 8=run, 9=--entrypoint, 10=bash --login -c, 11=--rm, 12=terminus, 13=drush8 config-export --commit --message=Module monkey TRILL --strict=0, mode=attach
Starting bakersmission_data_1
exception 'Exception' with message 'The configuration directory type 'monkey' does not exist' in [error]
/code/core/includes/bootstrap.inc:154
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.