* tests: Add temporary directory deletion tests
* ci: Run tests on Windows for Python 3.6 and 3.7 again
* fix: Implement more robust temporary directory deletion
* docs: Document temporary directory class and error handler
* chore: Update poetry.lock
* style: Format code
Co-authored-by: Timothée Mazzucotelli <timothee.mazzucotelli@externe.e-i.com>
Targeting #348, from now on, if we cannot check the copier version or the installed version's major part is bigger than the template's minimal major part, there'll be proper warnings.
* Refactor
* Fix#110.
* Rewrite test_config_exclude, test_config_exclude_overridden and test_config_include. These tests were badly designed, using a monkeypatch that would never happen in the real world, and actually producing false positives. I moved them to test_exclude.py and rewritten to test the what and not the how.
* Fix#214 by removing skip option. Relevant tests use the better skip_if_exists=["**"].
* Remove subdirectory flag from API/CLI. It was confusing and could lead to bad maintenance situations. Fixes#315.
* Remove extra_paths and fix#321
* Remember that you cannot use _copier_conf.src_path as a path now
* use dataclasses
* Create errors module, simplify some tests, fix many others
* Fix some tests, complete EnvOps removal
* Fix#214 and some tests related to it
* Reorder code
* Update docs and imports
* Modularize test_complex_questions
* Interlink worker and questionary a bit better
* Removal of Questionary class, which only had 1 meaningful method that is now merged into Worker to avoid circular dependencies.
* Fix#280 in a simple way: only user answers are type-casted inside API, and CLI transforms all `--data` using YAML always. Predictable.
* Use prereleases correctly.
* Reorder AnswersMap to have a more significative repr.
* Simpler cache for old `Question.get_choices()` method (renamed now).
* fix wrong test
* Fix test_subdirectory
* Fix test_tasks (and remove tests/demo_tasks)
* Fix path filter tests, and move it to test_exclude, where it belongs
* Make test_config pass
* Fix more wrongly designed tests
* Use cached_property backport if needed
* xfail test known to fail on mac
* force posix paths on windows
* Add typing_extensions for python < 3.8
* Sort dependencies in pyproject.toml
* Support python 3.6 str-to-datetime conversion
* Workaround https://bugs.python.org/issue43095
* xfail test_path_filter on windows
* Upgrade mkdocs and other dependencies to fix https://github.com/pawamoy/mkdocstrings/issues/222
* Add missing reference docs.
* Add workaround for https://github.com/pawamoy/mkdocstrings/pull/209
* Docs.
* Remove validators module
* Add workaround for https://github.com/pawamoy/mkdocstrings/issues/225
* Restore docs autorefs as explained in https://github.com/pawamoy/mkdocstrings/issues/226#issuecomment-775413562.
* Workaround https://github.com/pawamoy/pytkdocs/issues/86
Before this patch, if the repo you were updating was shallow, Copier failed to update it.
Now it should update any repo, no matter its depth. We only need to fetch 1 commit from it, after all.
Fix#279:
- Remove specific coverage workflow.
- Integrate coverage with normal unit tests, which run on every PR.
- Remove `yml` option, which has been deprecated.
- Remove token, unneeded for public repos.
- Add OS and PYTHON env vars to tag uploads.
This includes updating dependencies, such as pydantic, and adding it to the test matrix.
However pydantic doesn't support python 3.9 yet, so we can't claim to support it yet.
Targets #102.
* use a new toolkit for user prompting: questionary (patched).
* multiline questions.
* conditional questions.
* new toolkit for ui tests: pexpect.
* fix lots of tests.
* fix windows builds with newer poetry-dynamic-versioning.
* linters and mypy are now tests, to have faster ci.
* update deprecated ci commands.
* removed dependencies from old times.
* Remove toml 0.5+ syntax (dotted keys)
* Use powershell where syntax is compatible
* Change skip to xfail
* xfail pexpect tests on windows. I'm tired of trying to make it work
* more docs
* possibly something more.
- Install basic development tools and configure them to work out of the box, based on gitpod's official ubuntu docker image.
- Disable $PIP_USER=yes, hardcoded by gitpod and unfriendly with poetry and pre-commit.
- Make Fish shell available.
- Add some basic settings.
- Add instructions to CONTRIBUTING.
This flag was not working fine, after all.
Also, the only difference between `copier copy` and `copier update` is that copying should ignore subproject history, while updating should respect it.
Thus, the real CLI reflection of the `only_diff` option is whether you're using `copier copy` or `copier update`. Well, that's how it is now.
Besides all this, the real behavior of `only_diff=False` wasn't being tested. Fixed also, and updated docs.
Fixes#270.