diffsage 1.3.0__tar.gz → 1.3.1__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.
- {diffsage-1.3.0/src/diffsage.egg-info → diffsage-1.3.1}/PKG-INFO +1 -1
- {diffsage-1.3.0 → diffsage-1.3.1}/pyproject.toml +1 -1
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/cli.py +17 -1
- {diffsage-1.3.0 → diffsage-1.3.1/src/diffsage.egg-info}/PKG-INFO +1 -1
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/SOURCES.txt +2 -1
- diffsage-1.3.1/tests/test_cli.py +21 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/LICENSE +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/README.md +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/setup.cfg +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/__main__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/ask.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/auth.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/commit.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/config.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/doctor.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/pr.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/defaults.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/file_loader.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/loader.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/paths.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/resolver.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/schema.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/scope.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/settings.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/base.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/credentials.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/git.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/github.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/provider.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/git/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/git/client.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/github/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/github/client.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/formatter.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/logger.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/commit_message.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/config.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/credentials.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/doctor.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/git.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/provider.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/pull_request.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/pull_request_analysis.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/parsers/commit_message_parser.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/parsers/pull_request_parser.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/prompts/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/base.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/factory.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/gemini_provider.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/ai_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/commit_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/config_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/credentials_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/doctor_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/editor_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/git_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/github_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/prompt_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/pull_request_analysis_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/pull_request_service.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/base.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/config_repository.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/credentials_repository.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/__init__.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/ask_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/auth_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/base.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/commit_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/config_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/doctor_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/pull_request_view.py +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/dependency_links.txt +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/entry_points.txt +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/requires.txt +0 -0
- {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from importlib.metadata import version
|
|
2
3
|
|
|
3
4
|
import typer
|
|
4
5
|
|
|
@@ -14,8 +15,23 @@ from diffsage.logging.logger import configure_logging
|
|
|
14
15
|
app = typer.Typer(help="DiffSage: AI-aware Git workflow toolkit")
|
|
15
16
|
|
|
16
17
|
|
|
18
|
+
def version_callback(value: bool) -> None:
|
|
19
|
+
if value:
|
|
20
|
+
typer.echo(version("diffsage"))
|
|
21
|
+
raise typer.Exit()
|
|
22
|
+
|
|
23
|
+
|
|
17
24
|
@app.callback()
|
|
18
|
-
def main(
|
|
25
|
+
def main(
|
|
26
|
+
version: bool = typer.Option(
|
|
27
|
+
False,
|
|
28
|
+
"--version",
|
|
29
|
+
"-v",
|
|
30
|
+
callback=version_callback,
|
|
31
|
+
is_eager=True,
|
|
32
|
+
help="Show the Diffsage version.",
|
|
33
|
+
),
|
|
34
|
+
) -> None:
|
|
19
35
|
"""
|
|
20
36
|
Initialize DiffSage.
|
|
21
37
|
"""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from importlib.metadata import version
|
|
2
|
+
|
|
3
|
+
from typer.testing import CliRunner
|
|
4
|
+
|
|
5
|
+
from diffsage.cli import app
|
|
6
|
+
|
|
7
|
+
runner = CliRunner()
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_version_option() -> None:
|
|
11
|
+
result = runner.invoke(app, ["--version"])
|
|
12
|
+
|
|
13
|
+
assert result.exit_code == 0
|
|
14
|
+
assert result.stdout.strip() == version("diffsage")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_short_version_option() -> None:
|
|
18
|
+
result = runner.invoke(app, ["-v"])
|
|
19
|
+
|
|
20
|
+
assert result.exit_code == 0
|
|
21
|
+
assert result.stdout.strip() == version("diffsage")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|