gitwise-cli 0.34.1__tar.gz → 0.34.2__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.
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/CHANGELOG.md +6 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/PKG-INFO +1 -1
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/__init__.py +1 -1
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/audit.py +13 -7
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/conflicts.py +2 -1
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/pyproject.toml +1 -1
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_audit.py +32 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_conflicts.py +16 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/.gitignore +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/LICENSE +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/README.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/bin/gitwise +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/bin/gw +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/__main__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_cli_completions.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_cli_dispatch.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_cli_introspection.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_cli_parser.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_cli_setup_agents.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_i18n_data.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_paths.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/_runtime_config.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/branches.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/clean.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/commit.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/context.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/design.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/diff.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/doctor.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/git.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/health.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/i18n.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/log.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/merge.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/optimize.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/output.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/pick.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/pr.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/py.typed +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/schema.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/__init__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/__init__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/aider.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/base.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/codex.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/continue_adapter.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/cursor.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/opencode.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/adapters/pi.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/exec.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/format.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/plan.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/plan_gitfiles.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/plan_skills.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/__init__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/aider.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/base.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/claude.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/codex.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/continue_adapter.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/cursor.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/opencode.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/pi.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/state.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/types.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/show.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/snapshot.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/stash.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/status.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/suggest.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/summarize.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/sync.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/tag.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/undo.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/update.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/__init__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/git_output.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/in_progress.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/json_envelope.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/parsing.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/secret_scan.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/utils/types.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/worktree.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/install.sh +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/agents/skills/git-audit/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/agents/skills/git-clean/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/agents/skills/git-optimize/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/aider/CONVENTIONS.md.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/aider/aider.conf.yml.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/CLAUDE.md.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/rules/gitwise.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/settings.json.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/skills/git-audit/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/skills/git-clean/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/claude/skills/git-optimize/SKILL.md +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/codex/agents/gitwise.toml.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/continue/rules/gitwise.md.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/cursor/rules/gitwise.mdc.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/git-config-modern.txt +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/hooks/commit-msg +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/hooks/pre-commit +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/opencode/agents/gitwise.md.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/pi/skills/gitwise.md.template +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/audit.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/branches.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/clean.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/commands.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/commit.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/completions.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/conflicts.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/context.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/diff.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/doctor.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/health.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/log.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/merge.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/optimize.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/pick.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/pr.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/schema.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/setup-agents.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/setup.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/show.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/snapshot.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/stash.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/status.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/suggest.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/summarize.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/sync.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/tag.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/undo.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/update.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/input/worktree.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/audit.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/branches.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/clean.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/commands.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/commit.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/conflicts.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/context.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/diff.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/doctor.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/health.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/log.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/merge.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/optimize.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/pick.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/pr.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/setup-agents.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/setup.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/snapshot.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/stash.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/status.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/suggest.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/summarize.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/sync.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/tag.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/undo.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/update.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/share/schemas/v1/output/worktree.json +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/__init__.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/conftest.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_adapters.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_branches.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_clean.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_commands.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_commit.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_context.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_design.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_diff.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_doctor.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_edge_cases.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_envelope_contract.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_git.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_git_output_utils.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_health.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_i18n.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_in_progress.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_json_envelope_utils.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_log.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_main.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_md_links_script.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_merge.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_optimize.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_output.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_parsing_utils.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_pick.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_pr.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_roadmap_baseline_script.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_sa_plan.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_sa_unit.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_schema_catalog.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_secret_scan.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_setup.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_setup_agents.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_show.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_snapshot.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_stash.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_status.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_suggest.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_summarize.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_sync.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_sync_changelog_es_script.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_tag.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_types.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_undo.py +0 -0
- {gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/tests/test_worktree.py +0 -0
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
4
4
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
5
5
|
|
|
6
|
+
## v0.34.2 (2026-07-22)
|
|
7
|
+
|
|
8
|
+
### Fix
|
|
9
|
+
|
|
10
|
+
- **security**: enforce subprocess safety invariants
|
|
11
|
+
|
|
6
12
|
## v0.34.1 (2026-07-22)
|
|
7
13
|
|
|
8
14
|
### Fix
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitwise-cli
|
|
3
|
-
Version: 0.34.
|
|
3
|
+
Version: 0.34.2
|
|
4
4
|
Summary: Python CLI for optimizing git workflows and Claude Code integration
|
|
5
5
|
Project-URL: Homepage, https://github.com/drzioner/gitwise
|
|
6
6
|
Project-URL: Repository, https://github.com/drzioner/gitwise
|
|
@@ -8,6 +8,7 @@ from pathlib import Path
|
|
|
8
8
|
from typing import Any
|
|
9
9
|
|
|
10
10
|
from gitwise.git import (
|
|
11
|
+
_get_timeout,
|
|
11
12
|
gpg_status,
|
|
12
13
|
has_commit_graph,
|
|
13
14
|
has_remote,
|
|
@@ -112,13 +113,18 @@ def _run_git_sizer(cwd: Path) -> dict | None:
|
|
|
112
113
|
"""Run ``git-sizer`` if available and return its JSON output, or None."""
|
|
113
114
|
if not shutil.which("git-sizer"):
|
|
114
115
|
return None
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
116
|
+
try:
|
|
117
|
+
r = subprocess.run(
|
|
118
|
+
["git-sizer", "--threshold=2", "--json"],
|
|
119
|
+
cwd=cwd,
|
|
120
|
+
capture_output=True,
|
|
121
|
+
text=True,
|
|
122
|
+
check=False,
|
|
123
|
+
timeout=_get_timeout("git-sizer"),
|
|
124
|
+
)
|
|
125
|
+
except subprocess.TimeoutExpired:
|
|
126
|
+
debug("git-sizer timed out")
|
|
127
|
+
return None
|
|
122
128
|
if r.returncode not in (0, 1):
|
|
123
129
|
return None
|
|
124
130
|
import json
|
|
@@ -4,7 +4,7 @@ import subprocess
|
|
|
4
4
|
import tempfile
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
|
|
7
|
-
from gitwise.git import require_root
|
|
7
|
+
from gitwise.git import _GIT_ENV, require_root
|
|
8
8
|
from gitwise.git import run as git_run
|
|
9
9
|
from gitwise.i18n import t
|
|
10
10
|
from gitwise.output import (
|
|
@@ -27,6 +27,7 @@ def _git_bytes(args: list[str], *, cwd: Path) -> tuple[int, bytes, bytes]:
|
|
|
27
27
|
["git", *args],
|
|
28
28
|
cwd=cwd,
|
|
29
29
|
capture_output=True,
|
|
30
|
+
env=_GIT_ENV,
|
|
30
31
|
timeout=120,
|
|
31
32
|
)
|
|
32
33
|
return r.returncode, r.stdout, r.stderr
|
|
@@ -4,6 +4,7 @@ import json
|
|
|
4
4
|
import os
|
|
5
5
|
import platform
|
|
6
6
|
import subprocess
|
|
7
|
+
import sys
|
|
7
8
|
import time
|
|
8
9
|
|
|
9
10
|
from conftest import run_gitwise as _run
|
|
@@ -101,3 +102,34 @@ def test_audit_quick_skips_large_blobs(tmp_git_repo_with_large_blob):
|
|
|
101
102
|
large = [f for f in data["data"]["findings"] if f["type"] == "large_blobs"]
|
|
102
103
|
assert len(large) == 0 # --quick skips blob search
|
|
103
104
|
assert data["data"]["summary"]["large_blobs"] == 0
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def test_audit_git_sizer_timeout_returns_json(tmp_git_repo, tmp_path):
|
|
108
|
+
bin_dir = tmp_path / "bin"
|
|
109
|
+
bin_dir.mkdir()
|
|
110
|
+
script = bin_dir / "slow_git_sizer.py"
|
|
111
|
+
script.write_text('import time\ntime.sleep(8)\nprint("{}")\n')
|
|
112
|
+
|
|
113
|
+
if os.name == "nt":
|
|
114
|
+
executable = bin_dir / "git-sizer.cmd"
|
|
115
|
+
executable.write_text(f'@"{sys.executable}" "{script}" %*\n')
|
|
116
|
+
else:
|
|
117
|
+
executable = bin_dir / "git-sizer"
|
|
118
|
+
executable.write_text(f"#!{sys.executable}\n{script.read_text()}")
|
|
119
|
+
executable.chmod(0o755)
|
|
120
|
+
|
|
121
|
+
start = time.monotonic()
|
|
122
|
+
result = _run(
|
|
123
|
+
"audit",
|
|
124
|
+
"--json",
|
|
125
|
+
cwd=tmp_git_repo,
|
|
126
|
+
env={
|
|
127
|
+
"GITWISE_GIT_TIMEOUT": "1",
|
|
128
|
+
"PATH": f"{bin_dir}{os.pathsep}{os.environ['PATH']}",
|
|
129
|
+
},
|
|
130
|
+
)
|
|
131
|
+
elapsed = time.monotonic() - start
|
|
132
|
+
|
|
133
|
+
assert result.returncode in (0, 1)
|
|
134
|
+
assert json.loads(result.stdout)["command"] == "audit"
|
|
135
|
+
assert elapsed < 6
|
|
@@ -86,6 +86,22 @@ def test_conflicts_union_json_envelope(tmp_git_repo):
|
|
|
86
86
|
assert env["data"]["resolved"] >= 1
|
|
87
87
|
|
|
88
88
|
|
|
89
|
+
def test_conflicts_union_scrubs_injected_git_config(tmp_git_repo):
|
|
90
|
+
_setup_text_conflict(tmp_git_repo)
|
|
91
|
+
|
|
92
|
+
r = run_gitwise(
|
|
93
|
+
"conflicts",
|
|
94
|
+
"--union",
|
|
95
|
+
"--json",
|
|
96
|
+
cwd=tmp_git_repo,
|
|
97
|
+
env={"GIT_CONFIG_COUNT": "invalid"},
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
assert r.returncode == 0
|
|
101
|
+
env = json.loads(r.stdout)
|
|
102
|
+
assert env["data"]["resolved"] >= 1
|
|
103
|
+
|
|
104
|
+
|
|
89
105
|
def test_conflicts_dry_run_does_not_touch_tree(tmp_git_repo):
|
|
90
106
|
"""--dry-run reports the plan but leaves conflict markers in place."""
|
|
91
107
|
_setup_text_conflict(tmp_git_repo)
|
|
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
|
{gitwise_cli-0.34.1 → gitwise_cli-0.34.2}/gitwise/setup_agents/providers/continue_adapter.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
|
|
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
|
|
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
|