dotman-git 1.2.1__tar.gz → 1.2.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.
- {dotman_git-1.2.1 → dotman_git-1.2.2}/CHANGELOG.md +8 -0
- {dotman_git-1.2.1/dotman_git.egg-info → dotman_git-1.2.2}/PKG-INFO +1 -1
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/__init__.py +1 -1
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/__init__.py +1 -4
- {dotman_git-1.2.1 → dotman_git-1.2.2/dotman_git.egg-info}/PKG-INFO +1 -1
- {dotman_git-1.2.1 → dotman_git-1.2.2}/pyproject.toml +1 -1
- {dotman_git-1.2.1 → dotman_git-1.2.2}/CONTRIBUTING.md +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/LICENSE +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/MANIFEST.in +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/README.md +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/backups.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/branch_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/add_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/audit_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/backup_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/branch_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/clean_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/common.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/completions_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/config_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/deploy_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/discover_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/doctor_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/edit_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/encrypt_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/export_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/import_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/init_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/interface.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/log_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/main.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/navigate_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/onboarding.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/profile_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/remote_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/restore_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/revert_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/rollback_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/show_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/status_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/switch_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/tag_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/template_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/tui_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/verify_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/cli/watch_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/completions/_dot-man.zsh +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/completions/dot-man.bash +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/completions/dot-man.fish +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/completions/install.sh +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/config_detector.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/constants.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/core.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/dotman_config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/encryption.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/exceptions.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/files.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/global_config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/hooks.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/interactive.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/lock.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/merge.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/operations.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/py.typed +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/save_deploy_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/secrets.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/section.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/status_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/tui_log.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/ui.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/utils.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dot_man/vault.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dotman_git.egg-info/SOURCES.txt +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dotman_git.egg-info/dependency_links.txt +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dotman_git.egg-info/entry_points.txt +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dotman_git.egg-info/requires.txt +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/dotman_git.egg-info/top_level.txt +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/setup.cfg +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_add_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_audit_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_backup_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_backups.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_branch_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_branch_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_clean.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_cli_commands.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_cli_extra.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_cli_help.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_cli_revert.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_cli_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_common_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_completion.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_completions_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_comprehensive.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config_cmd_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config_ops_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config_preservation.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_config_section.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_core.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_core_extended.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_core_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_custom_secrets.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_deploy_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_discover_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_doctor_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_dotman_config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_edit_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_encrypt_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_encryption.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_exceptions.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_export_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_files_atomic.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_files_comprehensive.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_files_extended.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_final_push.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_fixtures.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_git_manager.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_git_manager_extended.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_global_config.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_hooks.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_hooks_new.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_import_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_init_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_integration.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_interactive.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_lock.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_log_checkout_tag.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_log_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_log_cmd_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_merge.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_more_integration.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_navigate_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_navigate_switch_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_onboarding.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_operations.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_ops_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_performance_logic.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_profile_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_profile_cmd_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_profile_extra.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_remote_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_restore_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_rollback_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_save_deploy_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_secrets.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_section.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_shell_completions.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_show_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_status_ops.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_switch_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_switch_enhancements.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_symlink_deploy.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_tag_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_template_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_template_cmd_v1.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_template_extra.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_ui.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_utils.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_vault.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_verify_cmd.py +0 -0
- {dotman_git-1.2.1 → dotman_git-1.2.2}/tests/test_watch_cmd.py +0 -0
|
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.2] - 2026-06-10
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Python 3.10 CI compatibility** — `dot_man/cli/__init__.py` no longer shadows module names with same-named function imports (`from .discover_cmd import discover_cmd` → `from . import discover_cmd`). On Python 3.10, `unittest.mock.patch` resolves dotted paths via attribute lookup, so the shadowing caused `AttributeError` when test patches tried to access module-level names like `ConfigDetector` on the Click command function instead of the module. (Affected `test_discover_cmd.py`, `test_encrypt_cmd.py`, `test_import_cmd.py`.)
|
|
15
|
+
|
|
16
|
+
## [1.2.1] - 2026-06-10
|
|
17
|
+
|
|
10
18
|
### Refactored
|
|
11
19
|
|
|
12
20
|
- **Deduplicate deploy logic** — extracted `_build_final_excludes`, `_deploy_repo_path`, `_restore_file_secrets_inplace` from duplicate code in `deploy_section` and `deploy_item` (save_deploy_ops.py)
|
|
@@ -4,6 +4,7 @@ This package provides the CLI entry point for dot-man.
|
|
|
4
4
|
It exposes the modular CLI implementation.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
from . import discover_cmd, encrypt_cmd, export_cmd, import_cmd
|
|
7
8
|
from .add_cmd import add
|
|
8
9
|
from .audit_cmd import audit
|
|
9
10
|
from .backup_cmd import backup
|
|
@@ -32,12 +33,8 @@ from .common import (
|
|
|
32
33
|
from .completions_cmd import completions
|
|
33
34
|
from .config_cmd import config
|
|
34
35
|
from .deploy_cmd import deploy
|
|
35
|
-
from .discover_cmd import discover_cmd
|
|
36
36
|
from .doctor_cmd import doctor
|
|
37
37
|
from .edit_cmd import edit
|
|
38
|
-
from .encrypt_cmd import encrypt_cmd
|
|
39
|
-
from .export_cmd import export_cmd
|
|
40
|
-
from .import_cmd import import_cmd
|
|
41
38
|
|
|
42
39
|
# Import commands for easier access and backward compatibility
|
|
43
40
|
from .init_cmd import init
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|