perform a configuration in the production environment to extract
out the canonical configuration files.
- 12. On the production server, call your wizard to perform an installation.
- Inspect the generated configuration files, and implement:
+ 12. On the production server, call your wizard to perform an installation;
+ be sure to use the option --no-commit in order to make propagating changes
+ back easier. Inspect the generated configuration files (you can use `git
+ status` to find unversioned files that the installer created), and
+ implement:
- extractors
- substitutions
These are dictionaries of functions that perform extraction
script was buggy; try again.
14. The current changes in the working copy should be merged in. Add any new
- files, and then `git commit --amend`.
+ files, and then `git commit --amend`. `git push --force` to stick these
+ changes back in the "public" repository.
15. In your local copy, you can pull the changes by doing `git reset --hard HEAD~`
and then a `git pull` from the relevant source. Otherwise, Git will complain
for use. Assumes that the current working directory is the deployment.
Subclasses should provide an implementation.
"""
+ # XXX: Unfortunately, this doesn't quite work because we package
+ # bogus config files in the -scripts versions of installs. Maybe
+ # we should check a hash or something?
raise NotImplemented
@staticmethod
def make(name):
substitutions.update(php.substitutions)
install_schema = install.ArgSchema("mysql", "admin", "email", "title")
def checkConfig(self, deployment):
- return os.path.isfile(os.path.join(deployment.location, "LocalSettings.php"))
+ return os.path.isfile("LocalSettings.php")
def detectVersion(self, deployment):
contents = deployment.read("includes/DefaultSettings.php")
regex = php.re_var("wgVersion")