half-orm-dev 1.0.0a22__tar.gz → 1.0.0a23__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.
- {half_orm_dev-1.0.0a22/half_orm_dev.egg-info → half_orm_dev-1.0.0a23}/PKG-INFO +1 -1
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/hgit.py +16 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/modules.py +1 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/release_manager.py +10 -3
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/module_template_1 +1 -1
- half_orm_dev-1.0.0a23/half_orm_dev/templates/module_template_2 +7 -0
- half_orm_dev-1.0.0a23/half_orm_dev/version.txt +1 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23/half_orm_dev.egg-info}/PKG-INFO +1 -1
- half_orm_dev-1.0.0a22/half_orm_dev/templates/module_template_2 +0 -7
- half_orm_dev-1.0.0a22/half_orm_dev/version.txt +0 -1
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/AUTHORS +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/LICENSE +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/README.md +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/__init__.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/bootstrap_manager.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/__init__.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/__init__.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/apply.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/bootstrap.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/check.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/clone.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/init.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/migrate.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/patch.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/release.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/restore.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/revert_migration.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/set_git_origin.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/sync.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/todo.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/undo.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/update.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/upgrade.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/main.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli_extension.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/database.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/decorators.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/file_executor.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migration_manager.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/4/00_toml_dict_format.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/4/01_add_bootstrap_table.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/4/02_move_patches_to_subdirs.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/5/01_update_pyproject_dependency.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/18/0/00_add_async_support.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/18/0/01_update_default_tests.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/1/0/0/a20/01_update_gitignore.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/hop/BREAKING_CHANGES-1.0.0.md +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patch_manager.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patch_validator.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patches/0/1/0/00_half_orm_meta.database.sql +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patches/0/1/0/01_alter_half_orm_meta.hop_release.sql +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patches/0/1/0/02_half_orm_meta.view.hop_penultimate_release.sql +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patches/log +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/patches/sql/half_orm_meta.sql +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/release_file.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/repo.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/scripts/repair-metadata.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/.gitignore +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/MANIFEST.in +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/README +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/conftest_template +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/git-hooks/pre-commit +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/git-hooks/pre-push +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/git-hooks/prepare-commit-msg +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/git-hooks/reference-transaction +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/init_module_template +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/module_template_3 +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/relation_test +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/sql_adapter +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/warning +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/utils.py +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev.egg-info/SOURCES.txt +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev.egg-info/dependency_links.txt +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev.egg-info/entry_points.txt +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev.egg-info/requires.txt +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev.egg-info/top_level.txt +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/setup.cfg +0 -0
- {half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/setup.py +0 -0
|
@@ -356,6 +356,22 @@ class HGit:
|
|
|
356
356
|
# Push branch with or without upstream tracking
|
|
357
357
|
origin.push(branch_name, set_upstream=set_upstream)
|
|
358
358
|
|
|
359
|
+
def read_file_at_ref(self, ref: str, relative_path: str) -> str:
|
|
360
|
+
"""
|
|
361
|
+
Read a file's content from a git ref (tag or commit) without checking it out.
|
|
362
|
+
|
|
363
|
+
Args:
|
|
364
|
+
ref: Git ref (e.g., "v1.3.6", "ho-prod", commit SHA)
|
|
365
|
+
relative_path: File path relative to repo root (e.g., ".hop/releases/1.3.6.txt")
|
|
366
|
+
|
|
367
|
+
Returns:
|
|
368
|
+
File content as string, or '' if not found.
|
|
369
|
+
"""
|
|
370
|
+
try:
|
|
371
|
+
return self.__git_repo.git.show(f'{ref}:{relative_path}')
|
|
372
|
+
except Exception:
|
|
373
|
+
return ''
|
|
374
|
+
|
|
359
375
|
def fetch_tags(self) -> None:
|
|
360
376
|
"""
|
|
361
377
|
Fetch all tags from remote.
|
|
@@ -667,6 +667,7 @@ def __gen_baseclass(relation, fkeys) -> str:
|
|
|
667
667
|
dc_name = rel._ho_dataclass_name()
|
|
668
668
|
d = f'{full_name}Dict'
|
|
669
669
|
HO_BASECLASSES_DICT_NAMES.add(d)
|
|
670
|
+
|
|
670
671
|
lines = [
|
|
671
672
|
f"class {bc_name}(",
|
|
672
673
|
f" MODEL.get_relation_class('{fqtn}', fields_aliases=None),",
|
|
@@ -1357,14 +1357,21 @@ class ReleaseManager:
|
|
|
1357
1357
|
# Extract base version for file lookup (remove suffix)
|
|
1358
1358
|
base_version = version.split('-')[0]
|
|
1359
1359
|
|
|
1360
|
-
# Read patches from release file
|
|
1360
|
+
# Read patches from release file.
|
|
1361
|
+
# The file may not exist in the current checkout (production server
|
|
1362
|
+
# is at an older tag), so fall back to reading from the git tag.
|
|
1361
1363
|
release_file = self._releases_dir / f"{version}.txt"
|
|
1362
1364
|
patches = []
|
|
1363
1365
|
|
|
1364
1366
|
if release_file.exists():
|
|
1365
1367
|
content = release_file.read_text().strip()
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
+
else:
|
|
1369
|
+
content = self._repo.hgit.read_file_at_ref(
|
|
1370
|
+
tag, f'.hop/releases/{version}.txt'
|
|
1371
|
+
)
|
|
1372
|
+
|
|
1373
|
+
if content.strip():
|
|
1374
|
+
patches = [line.strip() for line in content.split('\n') if line.strip()]
|
|
1368
1375
|
|
|
1369
1376
|
# Only include releases newer than current version
|
|
1370
1377
|
if Version(version) > Version(current_version):
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.0.0-a23
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.0.0-a22
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/cli/commands/revert_migration.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
|
{half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py
RENAMED
|
File without changes
|
{half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.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
|
{half_orm_dev-1.0.0a22 → half_orm_dev-1.0.0a23}/half_orm_dev/templates/git-hooks/prepare-commit-msg
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
|