zrb 1.0.0a6__tar.gz → 1.0.0a7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zrb-1.0.0a6 → zrb-1.0.0a7}/PKG-INFO +1 -1
- {zrb-1.0.0a6 → zrb-1.0.0a7}/pyproject.toml +1 -1
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/git.py +16 -10
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/git_subtree.py +19 -4
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/group.py +9 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/config.py +1 -1
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/git.py +31 -17
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/git_subtree.py +11 -10
- {zrb-1.0.0a6 → zrb-1.0.0a7}/README.md +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/__main__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/attr/type.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/llm/llm_chat.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/.gitignore +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/README.md +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/_zrb/config.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/_zrb/group.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/_zrb/helper.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/_zrb/main.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/_zrb/venv_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/app.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/db_engine.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/db_repository.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/error.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/schema.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/usecase.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/config.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/main.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/migrate.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/alembic.ini +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/client/api_client.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/client/base_client.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/client/direct_client.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/client/factory.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/migration/README +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/migration/env.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/migration/script.py.mako +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/migration/versions/3093c7336477_add_user_table.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/migration_metadata.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/route.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/db_repository.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/factory.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/repository.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/service/user/usecase.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/alembic.ini +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/migration/README +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/migration/env.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/migration_metadata.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/route.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/requirements.txt +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/schema/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/schema/role.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/schema/user.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/template.env +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/create/create.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/python.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/callback/callback.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/context/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/context/any_context.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/context/context.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/env/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/env/any_env.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/env/env.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/env/env_file.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/env/env_map.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/group/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/group/any_group.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/group/group.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/any_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/base_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/float_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/int_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/option_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/password_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/str_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/input/text_input.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/cli.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/controller.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/group_info.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/group_li.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/task_info.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/task_li.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/view.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/controller.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/partial/group_info.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/partial/group_li.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/partial/task_info.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/partial/task_li.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/home_page/view.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/static/favicon-32x32.png +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/static/pico.min.css +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/controller.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/common-util.js +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/input.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/main.js +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/show-existing-session.js +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/visualize-history.js +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/view.html +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_util.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session/any_session.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session/session.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_logger/default_session_state_logger.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/any_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/base_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/http_check.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/llm_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/make_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/task.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/attr.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_code_to_class.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_code_to_function.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_code_to_method.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_key_to_dict.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_param_to_function_call.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/codemod/add_property_to_class.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/cron.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/group.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/llm/tool.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/load.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/run.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/string/format.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/string/name.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/util/todo.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/xcom/xcom.py +0 -0
@@ -11,6 +11,7 @@ from zrb.util.git import (
|
|
11
11
|
get_branches,
|
12
12
|
get_current_branch,
|
13
13
|
get_diff,
|
14
|
+
get_repo_dir,
|
14
15
|
pull,
|
15
16
|
push,
|
16
17
|
)
|
@@ -55,7 +56,8 @@ from zrb.util.git import (
|
|
55
56
|
alias="diff",
|
56
57
|
)
|
57
58
|
def get_git_diff(ctx: AnyContext):
|
58
|
-
|
59
|
+
repo_dir = get_repo_dir()
|
60
|
+
diff = get_diff(repo_dir, ctx.input.source, ctx.input.current)
|
59
61
|
result = []
|
60
62
|
decorated = []
|
61
63
|
if ctx.input.created and diff.created:
|
@@ -82,14 +84,15 @@ def get_git_diff(ctx: AnyContext):
|
|
82
84
|
alias="prune",
|
83
85
|
)
|
84
86
|
def prune_local_branches(ctx: AnyContext):
|
85
|
-
|
86
|
-
|
87
|
+
repo_dir = get_repo_dir()
|
88
|
+
branches = get_branches(repo_dir)
|
89
|
+
current_branch = get_current_branch(repo_dir)
|
87
90
|
for branch in branches:
|
88
91
|
if branch == current_branch or branch == "main" or branch == "master":
|
89
92
|
continue
|
90
93
|
ctx.print(stylize_yellow(f"Removing local branch: {branch}"))
|
91
94
|
try:
|
92
|
-
delete_branch(branch)
|
95
|
+
delete_branch(repo_dir, branch)
|
93
96
|
except Exception as e:
|
94
97
|
ctx.log_error(e)
|
95
98
|
|
@@ -107,11 +110,12 @@ def prune_local_branches(ctx: AnyContext):
|
|
107
110
|
alias="commit",
|
108
111
|
)
|
109
112
|
def git_commit(ctx: AnyContext):
|
113
|
+
repo_dir = get_repo_dir()
|
110
114
|
ctx.print("Add changes to staging")
|
111
|
-
add()
|
115
|
+
add(repo_dir)
|
112
116
|
ctx.print("Commit changes")
|
113
117
|
try:
|
114
|
-
commit(ctx.input.message)
|
118
|
+
commit(repo_dir, ctx.input.message)
|
115
119
|
except Exception as e:
|
116
120
|
ctx.log_error(e)
|
117
121
|
|
@@ -130,10 +134,11 @@ def git_commit(ctx: AnyContext):
|
|
130
134
|
alias="pull",
|
131
135
|
)
|
132
136
|
def git_pull(ctx: AnyContext):
|
137
|
+
repo_dir = get_repo_dir()
|
133
138
|
remote = ctx.input.remote
|
134
|
-
current_branch = get_current_branch()
|
139
|
+
current_branch = get_current_branch(repo_dir)
|
135
140
|
ctx.print(f"Pulling from {remote}/{current_branch}")
|
136
|
-
pull(remote, current_branch)
|
141
|
+
pull(repo_dir, remote, current_branch)
|
137
142
|
|
138
143
|
|
139
144
|
@make_task(
|
@@ -150,7 +155,8 @@ def git_pull(ctx: AnyContext):
|
|
150
155
|
alias="push",
|
151
156
|
)
|
152
157
|
def git_push(ctx: AnyContext):
|
158
|
+
repo_dir = get_repo_dir()
|
153
159
|
remote = ctx.input.remote
|
154
|
-
current_branch = get_current_branch()
|
160
|
+
current_branch = get_current_branch(repo_dir)
|
155
161
|
ctx.print(f"Pushing to {remote}/{current_branch}")
|
156
|
-
push(remote, current_branch)
|
162
|
+
push(repo_dir, remote, current_branch)
|
@@ -3,6 +3,7 @@ from zrb.builtin.group import git_subtree_group
|
|
3
3
|
from zrb.context.any_context import AnyContext
|
4
4
|
from zrb.input.str_input import StrInput
|
5
5
|
from zrb.task.make_task import make_task
|
6
|
+
from zrb.util.git import get_repo_dir
|
6
7
|
from zrb.util.git_subtree import add_subtree, load_config, pull_subtree, push_subtree
|
7
8
|
|
8
9
|
|
@@ -32,7 +33,9 @@ from zrb.util.git_subtree import add_subtree, load_config, pull_subtree, push_su
|
|
32
33
|
alias="add",
|
33
34
|
)
|
34
35
|
def git_add_subtree(ctx: AnyContext):
|
36
|
+
repo_dir = get_repo_dir()
|
35
37
|
add_subtree(
|
38
|
+
repo_dir=repo_dir,
|
36
39
|
name=ctx.input.name,
|
37
40
|
repo_url=ctx.input["repo-url"],
|
38
41
|
branch=ctx.input["repo-branch"],
|
@@ -48,14 +51,20 @@ def git_add_subtree(ctx: AnyContext):
|
|
48
51
|
alias="pull",
|
49
52
|
)
|
50
53
|
def git_pull_subtree(ctx: AnyContext):
|
51
|
-
|
54
|
+
repo_dir = get_repo_dir()
|
55
|
+
config = load_config(repo_dir)
|
52
56
|
if not config.data:
|
53
57
|
raise ValueError("No subtree config found")
|
54
58
|
first_err: Exception | None = None
|
55
59
|
for name, detail in config.data.items():
|
56
60
|
try:
|
57
61
|
ctx.print(f"Pull from subtree {name}")
|
58
|
-
pull_subtree(
|
62
|
+
pull_subtree(
|
63
|
+
repo_dir=repo_dir,
|
64
|
+
prefix=detail.prefix,
|
65
|
+
repo_url=detail.repo_url,
|
66
|
+
branch=detail.branch,
|
67
|
+
)
|
59
68
|
except Exception as e:
|
60
69
|
if first_err is None:
|
61
70
|
first_err = e
|
@@ -72,14 +81,20 @@ def git_pull_subtree(ctx: AnyContext):
|
|
72
81
|
alias="push",
|
73
82
|
)
|
74
83
|
def git_push_subtree(ctx: AnyContext):
|
75
|
-
|
84
|
+
repo_dir = get_repo_dir()
|
85
|
+
config = load_config(repo_dir)
|
76
86
|
if not config.data:
|
77
87
|
raise ValueError("No subtree config found")
|
78
88
|
first_err: Exception | None = None
|
79
89
|
for name, detail in config.data.items():
|
80
90
|
try:
|
81
91
|
ctx.print(f"Push to subtree {name}")
|
82
|
-
push_subtree(
|
92
|
+
push_subtree(
|
93
|
+
repo_dir=repo_dir,
|
94
|
+
prefix=detail.prefix,
|
95
|
+
repo_url=detail.repo_url,
|
96
|
+
branch=detail.branch,
|
97
|
+
)
|
83
98
|
except Exception as e:
|
84
99
|
if first_err is None:
|
85
100
|
first_err = e
|
@@ -32,3 +32,12 @@ add_to_project_group = project_group.add_group(
|
|
32
32
|
add_fastapp_to_project_group = add_to_project_group.add_group(
|
33
33
|
Group(name="fastapp", description="🚀 Add Fastapp resources")
|
34
34
|
)
|
35
|
+
|
36
|
+
setup_group = cli.add_group(Group(name="setup", description="🛠️ Setup"))
|
37
|
+
setup_system_group = setup_group.add_group(
|
38
|
+
Group(name="system", description="🛠️ Setup system")
|
39
|
+
)
|
40
|
+
setup_dev_group = setup_group.add_group(Group(name="dev", description="🧑💻 Setup dev"))
|
41
|
+
setup_service_group = setup_group.add_group(
|
42
|
+
Group(name="services", description="🌐 Setup services")
|
43
|
+
)
|
@@ -77,7 +77,7 @@ BANNER = f"""
|
|
77
77
|
zzzzz rr bbbbbb {VERSION} Janggala
|
78
78
|
_ _ . . . _ . _ . . .
|
79
79
|
|
80
|
-
|
80
|
+
Your Automation Powerhouse
|
81
81
|
|
82
82
|
☕ Donate at: https://stalchmst.com/donation
|
83
83
|
🐙 Submit issues/PR at: https://github.com/state-alchemists/zrb
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import os
|
1
2
|
import subprocess
|
2
3
|
|
3
4
|
from pydantic import BaseModel
|
@@ -9,14 +10,19 @@ class DiffResult(BaseModel):
|
|
9
10
|
updated: list[str]
|
10
11
|
|
11
12
|
|
12
|
-
def get_diff(source_commit: str, current_commit: str) -> DiffResult:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
def get_diff(repo_dir: str, source_commit: str, current_commit: str) -> DiffResult:
|
14
|
+
try:
|
15
|
+
result = subprocess.run(
|
16
|
+
["git", "diff", source_commit, current_commit],
|
17
|
+
stdout=subprocess.PIPE,
|
18
|
+
stderr=subprocess.PIPE,
|
19
|
+
cwd=repo_dir,
|
20
|
+
text=True,
|
21
|
+
check=True,
|
22
|
+
)
|
23
|
+
except subprocess.CalledProcessError as e:
|
24
|
+
raise Exception(e.stderr or e.stdout)
|
25
|
+
lines = result.stdout.strip().split("\n")
|
20
26
|
diff: dict[str, dict[str, bool]] = {}
|
21
27
|
for line in lines:
|
22
28
|
if not line.startswith("---") and not line.startswith("+++"):
|
@@ -55,17 +61,18 @@ def get_repo_dir() -> str:
|
|
55
61
|
check=True,
|
56
62
|
)
|
57
63
|
# Return the directory path
|
58
|
-
return result.stdout.strip()
|
64
|
+
return os.path.abspath(result.stdout.strip())
|
59
65
|
except subprocess.CalledProcessError as e:
|
60
66
|
raise Exception(e.stderr or e.stdout)
|
61
67
|
|
62
68
|
|
63
|
-
def get_current_branch() -> str:
|
69
|
+
def get_current_branch(repo_dir: str) -> str:
|
64
70
|
try:
|
65
71
|
result = subprocess.run(
|
66
72
|
["git", "rev-parse", "--abbrev-ref", "HEAD"],
|
67
73
|
stdout=subprocess.PIPE,
|
68
74
|
stderr=subprocess.PIPE,
|
75
|
+
cwd=repo_dir,
|
69
76
|
text=True,
|
70
77
|
check=True,
|
71
78
|
)
|
@@ -74,12 +81,13 @@ def get_current_branch() -> str:
|
|
74
81
|
raise Exception(e.stderr or e.stdout)
|
75
82
|
|
76
83
|
|
77
|
-
def get_branches() -> list[str]:
|
84
|
+
def get_branches(repo_dir: str) -> list[str]:
|
78
85
|
try:
|
79
86
|
result = subprocess.run(
|
80
87
|
["git", "branch"],
|
81
88
|
stdout=subprocess.PIPE,
|
82
89
|
stderr=subprocess.PIPE,
|
90
|
+
cwd=repo_dir,
|
83
91
|
text=True,
|
84
92
|
check=True,
|
85
93
|
)
|
@@ -90,12 +98,13 @@ def get_branches() -> list[str]:
|
|
90
98
|
raise Exception(e.stderr or e.stdout)
|
91
99
|
|
92
100
|
|
93
|
-
def delete_branch(branch_name: str) -> str:
|
101
|
+
def delete_branch(repo_dir: str, branch_name: str) -> str:
|
94
102
|
try:
|
95
103
|
result = subprocess.run(
|
96
104
|
["git", "branch", "-D", branch_name],
|
97
105
|
stdout=subprocess.PIPE,
|
98
106
|
stderr=subprocess.PIPE,
|
107
|
+
cwd=repo_dir,
|
99
108
|
text=True,
|
100
109
|
check=True,
|
101
110
|
)
|
@@ -104,12 +113,13 @@ def delete_branch(branch_name: str) -> str:
|
|
104
113
|
raise Exception(e.stderr or e.stdout)
|
105
114
|
|
106
115
|
|
107
|
-
def add() -> str:
|
116
|
+
def add(repo_dir: str) -> str:
|
108
117
|
try:
|
109
118
|
subprocess.run(
|
110
119
|
["git", "add", ".", "-A"],
|
111
120
|
stdout=subprocess.PIPE,
|
112
121
|
stderr=subprocess.PIPE,
|
122
|
+
cwd=repo_dir,
|
113
123
|
text=True,
|
114
124
|
check=True,
|
115
125
|
)
|
@@ -117,25 +127,28 @@ def add() -> str:
|
|
117
127
|
raise Exception(e.stderr or e.stdout)
|
118
128
|
|
119
129
|
|
120
|
-
def commit(message: str) -> str:
|
130
|
+
def commit(repo_dir: str, message: str) -> str:
|
121
131
|
try:
|
122
132
|
subprocess.run(
|
123
133
|
["git", "commit", "-m", message],
|
124
134
|
stdout=subprocess.PIPE,
|
125
135
|
stderr=subprocess.PIPE,
|
136
|
+
cwd=repo_dir,
|
126
137
|
text=True,
|
127
138
|
check=True,
|
128
139
|
)
|
129
140
|
except subprocess.CalledProcessError as e:
|
130
|
-
|
141
|
+
if "nothing to commit, working tree clean" not in e.stderr:
|
142
|
+
raise Exception(e.stderr or e.stdout)
|
131
143
|
|
132
144
|
|
133
|
-
def pull(remote: str, branch: str) -> str:
|
145
|
+
def pull(repo_dir: str, remote: str, branch: str) -> str:
|
134
146
|
try:
|
135
147
|
subprocess.run(
|
136
148
|
["git", "pull", remote, branch],
|
137
149
|
stdout=subprocess.PIPE,
|
138
150
|
stderr=subprocess.PIPE,
|
151
|
+
cwd=repo_dir,
|
139
152
|
text=True,
|
140
153
|
check=True,
|
141
154
|
)
|
@@ -143,12 +156,13 @@ def pull(remote: str, branch: str) -> str:
|
|
143
156
|
raise Exception(e.stderr or e.stdout)
|
144
157
|
|
145
158
|
|
146
|
-
def push(remote: str, branch: str) -> str:
|
159
|
+
def push(repo_dir: str, remote: str, branch: str) -> str:
|
147
160
|
try:
|
148
161
|
subprocess.run(
|
149
162
|
["git", "push", "-u", remote, branch],
|
150
163
|
stdout=subprocess.PIPE,
|
151
164
|
stderr=subprocess.PIPE,
|
165
|
+
cwd=repo_dir,
|
152
166
|
text=True,
|
153
167
|
check=True,
|
154
168
|
)
|
@@ -3,8 +3,6 @@ import subprocess
|
|
3
3
|
|
4
4
|
from pydantic import BaseModel
|
5
5
|
|
6
|
-
from zrb.util.git import get_repo_dir
|
7
|
-
|
8
6
|
|
9
7
|
class SingleSubTreeConfig(BaseModel):
|
10
8
|
repo_url: str
|
@@ -16,21 +14,21 @@ class SubTreeConfig(BaseModel):
|
|
16
14
|
data: dict[str, SingleSubTreeConfig]
|
17
15
|
|
18
16
|
|
19
|
-
def load_config() -> SubTreeConfig:
|
20
|
-
file_path = os.path.join(
|
17
|
+
def load_config(repo_dir: str) -> SubTreeConfig:
|
18
|
+
file_path = os.path.join(repo_dir, "subtrees.json")
|
21
19
|
if not os.path.exists(file_path):
|
22
20
|
return SubTreeConfig(data={})
|
23
21
|
with open(file_path, "r") as f:
|
24
22
|
return SubTreeConfig.model_validate_json(f.read())
|
25
23
|
|
26
24
|
|
27
|
-
def save_config(config: SubTreeConfig):
|
28
|
-
file_path = os.path.join(
|
25
|
+
def save_config(repo_dir: str, config: SubTreeConfig):
|
26
|
+
file_path = os.path.join(repo_dir, "subtrees.json")
|
29
27
|
with open(file_path, "w") as f:
|
30
28
|
f.write(config.model_dump_json(indent=2))
|
31
29
|
|
32
30
|
|
33
|
-
def add_subtree(name: str, repo_url: str, branch: str, prefix: str):
|
31
|
+
def add_subtree(repo_dir: str, name: str, repo_url: str, branch: str, prefix: str):
|
34
32
|
config = load_config()
|
35
33
|
if os.path.isdir(prefix):
|
36
34
|
raise ValueError(f"Directory exists: {prefix}")
|
@@ -41,6 +39,7 @@ def add_subtree(name: str, repo_url: str, branch: str, prefix: str):
|
|
41
39
|
["git", "subtree", "add", "--prefix", prefix, repo_url, branch],
|
42
40
|
stdout=subprocess.PIPE,
|
43
41
|
stderr=subprocess.PIPE,
|
42
|
+
cwd=repo_dir,
|
44
43
|
text=True,
|
45
44
|
check=True,
|
46
45
|
)
|
@@ -49,10 +48,10 @@ def add_subtree(name: str, repo_url: str, branch: str, prefix: str):
|
|
49
48
|
config.data[name] = SingleSubTreeConfig(
|
50
49
|
repo_url=repo_url, branch=branch, prefix=prefix
|
51
50
|
)
|
52
|
-
save_config(config)
|
51
|
+
save_config(repo_dir, config)
|
53
52
|
|
54
53
|
|
55
|
-
def pull_subtree(prefix: str, repo_url: str, branch: str):
|
54
|
+
def pull_subtree(repo_dir: str, prefix: str, repo_url: str, branch: str):
|
56
55
|
try:
|
57
56
|
subprocess.run(
|
58
57
|
[
|
@@ -66,6 +65,7 @@ def pull_subtree(prefix: str, repo_url: str, branch: str):
|
|
66
65
|
],
|
67
66
|
stdout=subprocess.PIPE,
|
68
67
|
stderr=subprocess.PIPE,
|
68
|
+
cwd=repo_dir,
|
69
69
|
text=True,
|
70
70
|
check=True,
|
71
71
|
)
|
@@ -73,7 +73,7 @@ def pull_subtree(prefix: str, repo_url: str, branch: str):
|
|
73
73
|
raise Exception(e.stderr or e.stdout)
|
74
74
|
|
75
75
|
|
76
|
-
def push_subtree(prefix: str, repo_url: str, branch: str):
|
76
|
+
def push_subtree(repo_dir: str, prefix: str, repo_url: str, branch: str):
|
77
77
|
try:
|
78
78
|
subprocess.run(
|
79
79
|
[
|
@@ -87,6 +87,7 @@ def push_subtree(prefix: str, repo_url: str, branch: str):
|
|
87
87
|
],
|
88
88
|
stdout=subprocess.PIPE,
|
89
89
|
stderr=subprocess.PIPE,
|
90
|
+
cwd=repo_dir,
|
90
91
|
text=True,
|
91
92
|
check=True,
|
92
93
|
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/db_engine.py
RENAMED
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/common/db_repository.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/alembic.ini
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/auth/route.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/alembic.ini
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/builtin/project/add/fastapp_template/module/gateway/route.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/group_info.html
RENAMED
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/group_li.html
RENAMED
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/task_info.html
RENAMED
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/group_info_ui/partial/task_li.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/show-existing-session.js
RENAMED
File without changes
|
{zrb-1.0.0a6 → zrb-1.0.0a7}/src/zrb/runner/web_controller/task_ui/partial/visualize-history.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|