Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/remove compatibility mode #4462

Merged
merged 65 commits into from Feb 8, 2019

Conversation

Projects
None yet
4 participants
@lasote
Copy link
Contributor

commented Feb 4, 2019

Changelog: Feature: Removed old "compatibility" mode of revisions.
Changelog: Bugfix: Fixed several bugs related to revisions.
Changelog: Bugfix: Fixed several bugs related to the package metadata.json

Close #4352
Close #798

Docs: conan-io/docs#1105

CHANGES:

  • The CI will run only two stages, "with revisions", "without revisions"
  • Different testing env var (TESTING_REVISIONS_ENABLED) to change the TestClient default (revisions on/off) than the real one that is CONAN_CLIENT_REVISIONS_ENABLED. Otherwise it was very difficul to mix the on/off operations in the tests.
  • Metadata is not lazy created by default, it hide errors like "conan copy" not generating the destination metadata files.
  • Metadata is not returning "0" by default for the revisions. It was also error prone. The None value can happen if no one sets the revision.
  • Decouple "revisions" mechanism from the "SCM" feature, now the revision is extracted directly from the repository using the SCM helpers
  • Search and remove needed several changes to work with the revisions.
  • Rewritten tests with a new test framework

PENDING:

  • Migration of cache to generate the metadata.json file
  • Update wiki page about revisions

FUTURE FEATURES TO IMPLEMENT:

  • revision_mode="scm/hash" so someone could choose to use the hash (recipes of a third party at the same repository)

@tags: svn, slow
@revisions: 1

@lasote lasote requested review from jgsogo and danimtb Feb 4, 2019

@lasote lasote assigned memsharded and unassigned lasote Feb 4, 2019

@ghost ghost assigned lasote Feb 5, 2019

lasote added some commits Feb 5, 2019

Merge branch 'feature/remove_compatibility_mode' of github.com:lasote…
…/conan into feature/remove_compatibility_mode
Show resolved Hide resolved conans/client/cmd/copy.py Outdated
Show resolved Hide resolved conans/client/remover.py
Show resolved Hide resolved conans/client/remover.py
Show resolved Hide resolved conans/model/scm.py Outdated
Show resolved Hide resolved conans/search/search.py
Show resolved Hide resolved conans/test/functional/command/search_test.py
Show resolved Hide resolved conans/test/integration/install_update_test.py Outdated

lasote added some commits Feb 6, 2019

Please, review the migration and changes in the latest two commits

@danimtb
Copy link
Member

left a comment

The TurboClient is great for reading and understanding tests
I miss some tests about user output specially for the conan search --revisions command

Show resolved Hide resolved conans/client/cmd/export.py
Show resolved Hide resolved conans/test/integration/workspace_test.py
Show resolved Hide resolved conans/client/conf/__init__.py Outdated
Show resolved Hide resolved conans/test/unittests/client/cache_test.py Outdated
Show resolved Hide resolved conans/test/unittests/client/cache_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/test/integration/revisions_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/client/cmd/export.py Outdated
@jgsogo
Copy link
Member

left a comment

WIP... Now, the tests

Show resolved Hide resolved conans/client/cache/cache.py Outdated
Show resolved Hide resolved conans/client/cmd/copy.py
Show resolved Hide resolved conans/client/cmd/copy.py Outdated
Show resolved Hide resolved conans/client/cmd/copy.py Outdated
Show resolved Hide resolved conans/client/cmd/download.py Outdated
Show resolved Hide resolved conans/client/cmd/search.py
Show resolved Hide resolved conans/client/conan_api.py Outdated
Show resolved Hide resolved conans/client/graph/graph_binaries.py
Show resolved Hide resolved conans/client/migrations.py Outdated
Show resolved Hide resolved conans/client/rest/rest_client.py Outdated
@jgsogo
Copy link
Member

left a comment

Cool! Really great, it was worth the effort! 💯

I've written a lot of minor details, none of them blocking.

Show resolved Hide resolved conans/test/functional/command/search_test.py Outdated
Show resolved Hide resolved conans/test/functional/command/search_test.py
Show resolved Hide resolved conans/test/functional/command/search_test.py
Show resolved Hide resolved conans/test/functional/command/upload_complete_test.py Outdated
Show resolved Hide resolved conans/test/integration/install_outdated_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py Outdated
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/test/integration/revisions_test.py
Show resolved Hide resolved conans/client/migrations.py Outdated
@jgsogo

This comment has been minimized.

Copy link
Member

commented Feb 8, 2019

⚠️ The migration fails with packages installed in editable mode:

ERROR: Something went wrong while generating the metadata.json files in the cache, please try to fix the issue or wipe the cache: lib/version@user/channel:Operation not allowed on a package installed as editable

lasote added some commits Feb 8, 2019

@lasote

This comment has been minimized.

Copy link
Contributor Author

commented Feb 8, 2019

Great reviews team.

@lasote lasote merged commit d51bb72 into conan-io:develop Feb 8, 2019

2 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
license/cla Contributor License Agreement is signed.
Details

@ghost ghost removed the stage: review label Feb 8, 2019

@lasote lasote referenced this pull request Mar 6, 2019

Merged

Revisions Docs #1105

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.