gitpr-cli 1.5.0__py3-none-any.whl → 1.6.0__py3-none-any.whl

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.
Files changed (42) hide show
  1. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/METADATA +1 -1
  2. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/RECORD +42 -40
  3. src/application/use_cases/create_baseline.py +2 -1
  4. src/application/use_cases/run_check.py +2 -1
  5. src/config.py +1264 -1383
  6. src/config_schema.py +1620 -1357
  7. src/core.py +2761 -2328
  8. src/diff_parser.py +102 -0
  9. src/doc_links.py +53 -28
  10. src/i18n.py +142 -136
  11. src/infrastructure/scm/azure_devops_provider.py +491 -464
  12. src/infrastructure/scm/base.py +1 -0
  13. src/infrastructure/scm/bitbucket_provider.py +443 -402
  14. src/infrastructure/scm/factory.py +15 -3
  15. src/infrastructure/scm/gitlab_provider.py +469 -435
  16. src/issue_autoclose/issue_registry.py +285 -235
  17. src/issue_autoclose/register_created_issue.py +81 -80
  18. src/issue_autoclose/resolve_close_issue.py +236 -226
  19. src/ledger.py +7 -2
  20. src/main.py +6277 -45
  21. src/mcp_server.py +21 -5
  22. src/metrics.py +249 -2
  23. src/project_config.py +484 -426
  24. src/release_engine.py +134 -64
  25. src/review/diff_normalizer.py +84 -84
  26. src/reviewer_suggestion.py +2 -0
  27. src/scm_settings.py +441 -0
  28. src/skill_frontmatter.py +70 -0
  29. src/spinner.py +260 -257
  30. src/suggest_reviewers.py +155 -146
  31. src/tui_issue.py +44 -24
  32. src/ui/chat_app.py +4 -3
  33. src/ui/config_app.py +2331 -2043
  34. src/ui/help_screen.py +46 -46
  35. src/ui/issue_app.py +260 -258
  36. src/ui/linter_app.py +48 -46
  37. src/ui/metrics_app.py +11 -1
  38. src/updater.py +2 -2
  39. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/WHEEL +0 -0
  40. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/entry_points.txt +0 -0
  41. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/licenses/LICENSE +0 -0
  42. {gitpr_cli-1.5.0.dist-info → gitpr_cli-1.6.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitpr-cli
3
- Version: 1.5.0
3
+ Version: 1.6.0
4
4
  Summary: AI-powered PR automation, commit messages, and code review (Gemini, DeepSeek, and Ollama)
5
5
  Author-email: Natan Fiuza <contato@natanfiuza.dev.br>
6
6
  Requires-Python: >=3.10
@@ -1,4 +1,4 @@
1
- gitpr_cli-1.5.0.dist-info/licenses/LICENSE,sha256=UQzLC6mwqb-ZNDkBBAqOxC-SMQcEID0gaM6oFcu6u48,27030
1
+ gitpr_cli-1.6.0.dist-info/licenses/LICENSE,sha256=UQzLC6mwqb-ZNDkBBAqOxC-SMQcEID0gaM6oFcu6u48,27030
2
2
  src/__init__.py,sha256=ZHymXsocMDazI_fjOIgAQsRQvFPN2tV8FOuv0qptI_o,30
3
3
  src/ai_providers.py,sha256=QyFEOsXyA59lZziO5bl-4nlYFJpxBcxU9aLhcTBnkWE,14633
4
4
  src/blame_engine.py,sha256=Zov1hxrt7Dcmf56ovJKz3QmHIfzDKtSub2iItXeg9-A,17104
@@ -6,31 +6,33 @@ src/cache.py,sha256=frROc69NyTn3TdJIOPctvuH9z_sh2pdKxL4ekMtyh6k,6572
6
6
  src/changelog_builder.py,sha256=Ea0coS6LCqsdxTWrKW8SZyVsD02HuNNYzCoggI0loi8,9922
7
7
  src/chat_memory.py,sha256=PcohnyspAfIwwwbsp9U2Wk_1AylJMFEMoWqRSJe_w30,8949
8
8
  src/commit_classifier.py,sha256=HQHxPbCfgW_GD1_4mbO2No16jh_Ci5RTSoLbTU4IWYI,6920
9
- src/config.py,sha256=3O6h-A_gVJLxxG9M1L6fHCk-6UeP4tscONepZHInWHM,54130
10
- src/config_schema.py,sha256=hqfiNQgyJQ7l_f4VU315gMEUUG_D8490aXDPwMmFw4I,48087
11
- src/core.py,sha256=w29W2Tyx4DqWfLcZ1svMDyEwLfFpVZbFmFi79QE-mLc,88666
12
- src/diff_parser.py,sha256=ZJxiDMWLglk6QADS37S-oMDhuCvZ5eiKOnCWy6E-Avg,11573
13
- src/doc_links.py,sha256=xc9An9_MyLRYGo_4K5qXRqemG5t_QmWTik8lh8Rlpjo,1185
9
+ src/config.py,sha256=R1TETnHD_W22s3DBuzh5_XSISkiY6tM3ty9itsDXckU,47036
10
+ src/config_schema.py,sha256=SkcjI1vF1FpeFq6WK7c5HJPwHURUeiyhY7MMOgfSoc0,54494
11
+ src/core.py,sha256=IGtKsqAPJ3K4DbeMBtsSI7IX2CEmQ1ZGR4cs1Uwo-mQ,98763
12
+ src/diff_parser.py,sha256=JHeaTJflNOEbR9SYK_Ljr2hctrrABUIb31IFHAbyIDo,15405
13
+ src/doc_links.py,sha256=GdANhE6XbEnVDsbpCf22eUZnqFXor_2SU1O4S-pteIE,2028
14
14
  src/github_api.py,sha256=i1o58oKWWmMCerP-g-hOQHGCwPWd01ooKntTKjpFhIA,3948
15
- src/i18n.py,sha256=PdUmtZlH1zogbiDc3j6xiwtnvUd7XiNbiS-xKjYK4WM,4844
15
+ src/i18n.py,sha256=Xp9c1dNGmTHbo8SyXa-LQuO71nWx3RP-Us7jJ7ARtUY,4804
16
16
  src/issue_engine.py,sha256=RmZsQVg6N1vCcpMdv_5FX-cMGgQ3I0vwMN4parQ4zFg,10974
17
- src/ledger.py,sha256=s10Sm0qcA1b916X7m8d2osDThCmSK0UQnmUrkyj8Eao,43663
17
+ src/ledger.py,sha256=3p5nX9gPGHgANQxBxEywrKo3TNb5KdWDeTI2mslYopo,43787
18
18
  src/linter_engine.py,sha256=hIxht8M09Fnm6NiJZOqjI6dyqnFoHUDVA8Ve4dWZV4s,25214
19
19
  src/linter_wizard.py,sha256=mo8aSTZmVLluCOskWv3nji74WPJh_6c122zwADN9aCc,7634
20
- src/main.py,sha256=W7AWcM4vnaqwXSeg30Sc5_uBTK9-HGWFsUVPwOFiGaY,229742
21
- src/mcp_server.py,sha256=SoTS23WbkmE6VowIdQOcUiFkXKlP5aDrr7MSJX5KD5o,112417
22
- src/metrics.py,sha256=g39FYKx-LAuVyjZLxZCU66iulne8mhTLzPbINk5TFnU,40665
20
+ src/main.py,sha256=zo0PEpxWzrsP8o61AAFDWwoThfWj5YLl_75WmKDT12I,246130
21
+ src/mcp_server.py,sha256=z3yf2eyKPxq4trAaeKrLQNQiN_rjeWYzDgbvAY5ziXc,112996
22
+ src/metrics.py,sha256=Pk8-HkK9dvr8MgBx6QJ_5iTLVgpohPww9C4pQ6wWLzM,48650
23
23
  src/net.py,sha256=CjhgmQnp4OHVmO-3Lm-DLhNfo2RW0M9FnD_HYPKcnNI,2848
24
- src/project_config.py,sha256=9mXC5GKLv3pgQvlc50XCBnMVvTtbWCwIHAi-J48XXyA,15278
25
- src/release_engine.py,sha256=gowcInpeAA581YheeBbRk9dKz3CL-K-zY7kEdEw6DqA,38423
24
+ src/project_config.py,sha256=r-gzjKeFuTYvUzOflQlpbijn6uLXtPEUBzA-1PzUR_k,16749
25
+ src/release_engine.py,sha256=S0kgO-a7RSC07AzvRWRlGo32jx38PAQGIzgvYXOfthk,41274
26
26
  src/reviewer_resolution.py,sha256=bFRdf4GVWIpz4kk7cyF7EYWV43aP7V8sAlNGqKRPd7A,5913
27
- src/reviewer_suggestion.py,sha256=4tFwfltsEvx3s8RnUDKMaFGhdtWPWfgM0wqCTzEzWjE,8759
27
+ src/reviewer_suggestion.py,sha256=YeXJLjJjn1YS69FChWZBF4qHUuIwvv_n-GPiymLN8LQ,8904
28
+ src/scm_settings.py,sha256=3pXgBbxqekvD4LM-I3GgfV4IOa6QJn4x3-DPAThCris,14156
28
29
  src/security.py,sha256=fkWy-r4tdISH0xOyWZyR8ZCFyLuYqu8fn9sKsIeNAso,1351
29
30
  src/security_ruleset.py,sha256=4mqmqtWLHuhuCcjjaoKUM_YFzil4cWZ_ubjlOLgbM_4,4874
30
- src/spinner.py,sha256=8w3_BpIi-EkqmjP2OspALx9lWNyn8XwLw44gCTBeQv8,9221
31
- src/suggest_reviewers.py,sha256=WITj8lZOomwSL703Rw-cFBr59LnQ9t0Pl2kALCh9AA8,5327
32
- src/tui_issue.py,sha256=zNGglq_Xk8qTmoFmoQpIZjgIUz7fX7rvyp1fnBuUbME,10612
33
- src/updater.py,sha256=7UeSsDUbYT4OrvX8UnEP0WmUWYZ58oYBS0huCPZn9mo,9560
31
+ src/skill_frontmatter.py,sha256=K-HsjwSYPHUsDRjIiugBE3koxVdGf38L5d4l8eYVqEo,2167
32
+ src/spinner.py,sha256=JGOO_taTXbrQK0KnNxUQ40PcpS802bYYBosWWm_NG9o,9012
33
+ src/suggest_reviewers.py,sha256=LTOtwDIjaBS_FGDU6bjN6oGy-YD112hIPugYytNKD_A,5821
34
+ src/tui_issue.py,sha256=yaNpj9SSXiWWjMJ7a9FABcNWSffCkA1tjUSnJ1hN-MQ,11477
35
+ src/updater.py,sha256=VoHhIBzb02wRNNGlxK4AMQlvGnuf6azaPB--m-tTpTk,9560
34
36
  src/usage_log.py,sha256=CBCNlUm_xftXsBaGRHvsEjTENvZfE-lW70HGLMkisSg,4508
35
37
  src/version_bump.py,sha256=Dw1LZ_c6VzaO_s9cDeYSevoWtXVr_oP70eS_mkrOm8s,3041
36
38
  src/application/__init__.py,sha256=3YXFcmxJh0f7BwryKXxUrOhGrLnZLsagV-VbBIk0eGk,31
@@ -40,14 +42,14 @@ src/application/use_cases/baseline_gate.py,sha256=-3c5iy7i-HJ7_lsgHGftc8JDYOct0O
40
42
  src/application/use_cases/baseline_summary.py,sha256=BK5LibkNbQsIRmYvqv8AcS_kkC1b_Lt9Q6ZiOMzYCO0,10550
41
43
  src/application/use_cases/calculate_risk.py,sha256=Kgd6YVTrt6DtizXAZQ97XCYd0TBXXytiloauke-L-ko,13513
42
44
  src/application/use_cases/compare_against_baseline.py,sha256=hePa-yidv9OfBe8AZoNhu6FA5MBg5izZyL5K9ZAOWAI,1916
43
- src/application/use_cases/create_baseline.py,sha256=amVigQG-E3yCqzPNmCK9wazSC3Rh4sXJgntqhgg6cUU,26637
45
+ src/application/use_cases/create_baseline.py,sha256=ZJKO_hTmC01CLJ-cnbDVddY3PPOgWobNMYq5U94YwG4,26715
44
46
  src/application/use_cases/generate_mentor_explanation.py,sha256=pPXSLYBJwum6a2P1TYv_B1zwAuM3xYtT8T2LhKO60rY,9707
45
47
  src/application/use_cases/generate_pr_explanation.py,sha256=vlR6Lw7XBnHD7Cloz2gZMrW-kx31cBeC2kSM0qSnUjk,3418
46
48
  src/application/use_cases/generate_test_file.py,sha256=U6EyPbZSXEv9A34PYHkQDToenjqu5Fu1h-nIBqcT9Ds,9657
47
49
  src/application/use_cases/install_policy_pack.py,sha256=7s8wUL_SticgRnUMpzLJCmHso6y6tDHLibSdBLyXb0M,2816
48
50
  src/application/use_cases/publish_pull_request.py,sha256=sBQTBhFGJ98YKTqatZdEccTHfNrp3rxZ_qbKUR9nZrw,9762
49
51
  src/application/use_cases/resolve_effective_policy.py,sha256=HQruehhgqzT5cX2YcVftm1cZqiwDS5cAkRO0txj3hns,7771
50
- src/application/use_cases/run_check.py,sha256=fWzMj91Kp5SXgmCwdWS5IjALXX0wNa3-M7yoHWID27g,15835
52
+ src/application/use_cases/run_check.py,sha256=40txVJrLPmRjAJLMVnlYGVm8qo68Cnx5awmVFnnW8fM,15921
51
53
  src/application/use_cases/suppress_finding.py,sha256=a9oXVFZmvNFrKbEMNXepAu9dEIUqqBb-H1ZSjM0hcAs,18292
52
54
  src/application/use_cases/validate_policy_pack.py,sha256=OaHfs_coNFR9s6c2I7MKFVZRy2Hw2q_y9_B48poOZrE,9906
53
55
  src/branding/__init__.py,sha256=BJ7o5Z13LvWnUVb1aN1tz2XlFk7h89MQGkB2nJuJO0s,81
@@ -122,18 +124,18 @@ src/infrastructure/policy/__init__.py,sha256=mgznDOqCM9iazgY8DTi3uJqrc9wqIQp9D5e
122
124
  src/infrastructure/policy/local_policy_repository.py,sha256=-dW4QR-rzUM6qwOSC5UhA51tg1iWAXkTxKcZJPK0eBo,5786
123
125
  src/infrastructure/policy/policy_pack_loader.py,sha256=uRTp64ksVkdC3GBYgaHxkXUjeTk7UWPy0ePWVRo92k4,9559
124
126
  src/infrastructure/scm/__init__.py,sha256=CbW2p9DsYpwwUqy4xdtgoPugsLijopfNwLT-IAfEcqA,1887
125
- src/infrastructure/scm/azure_devops_provider.py,sha256=5k3w6HWpZm2hlv_00E5sQYV7OgZcQh1XwJsNlyPa51k,18384
126
- src/infrastructure/scm/base.py,sha256=SJlrjktVUJapTLxWmtT652e2yvuK0kuMOTNCI5_Wleo,17172
127
- src/infrastructure/scm/bitbucket_provider.py,sha256=gGZo6YSUt2HkVdJdKVizkEF9bv4X0bhrzKGST_iybdQ,15553
128
- src/infrastructure/scm/factory.py,sha256=U-1IkVaWxBCb1-8dbyGBJKCFwQWSqLE2P6ZG4_cad1c,3953
127
+ src/infrastructure/scm/azure_devops_provider.py,sha256=9IpgB-Vqzgj0VDFXaYs4PFRiecsQGU9svW5m3OpefsI,18790
128
+ src/infrastructure/scm/base.py,sha256=9tN2IivEngHoo1pDK3PivWHvHSkXokuyQQUJ680gsXU,17198
129
+ src/infrastructure/scm/bitbucket_provider.py,sha256=A58dMDa60lLUynENrinWENFz5dSA_lb9VJSg22ptbkI,16895
130
+ src/infrastructure/scm/factory.py,sha256=O3bRT6f15AozcldZfiH2LgOQ4g4GqMb0sbEWCIeF0HE,4487
129
131
  src/infrastructure/scm/github_provider.py,sha256=vdJDTTYd-CYkAQos-6IZ2hFOJkXG09SrkIcZzHbuuIc,21316
130
- src/infrastructure/scm/gitlab_provider.py,sha256=8AimDKgVPXkYmvZXUYD-NBWfAk-EjhhSgvVVMiUAoBU,17030
132
+ src/infrastructure/scm/gitlab_provider.py,sha256=VAYjdg5gU43FDamXUNMdFzs9MwIGyNRqMzEnLTacRE8,17951
131
133
  src/infrastructure/scm/web_links.py,sha256=-7oF7oUwK_UvKVJZWDPbTnKBi9JEQu2dMDYtgqH10iM,3724
132
134
  src/issue_autoclose/__init__.py,sha256=9IuLWTrq7Vvk2pf3BWMtxVFJ0ALmmHOpYjG8Rwd_x5U,651
133
135
  src/issue_autoclose/insert_close_line.py,sha256=MY8Hr1HWbdIflI6L0Drg9x3ouEJy9BbYxnm1PNguzxY,1779
134
- src/issue_autoclose/issue_registry.py,sha256=UONwAwVEENh3AA527rs-tme-LBALVnZHbVq8WPTI95c,8731
135
- src/issue_autoclose/register_created_issue.py,sha256=jCSDQWVN6WEhMj8s_Ggkx2FsFQPq2m2ehQom3GI6s2I,3006
136
- src/issue_autoclose/resolve_close_issue.py,sha256=clGc2g1vsmCJ4fxieDsN-zfNyemZ1aYvRStHZlMkFZg,7951
136
+ src/issue_autoclose/issue_registry.py,sha256=ttZ8hjuBRWn3iAK9s-KYBybpsW7NRlVxpLyHzD8eKoY,10297
137
+ src/issue_autoclose/register_created_issue.py,sha256=6RwTYepPu1mvuF2T-RcKL3r9THk9zNwCthjg__uQ9JI,2871
138
+ src/issue_autoclose/resolve_close_issue.py,sha256=IS-F39Kp8yvQJhKozIwy2gFEtCy5m1geCwf4cdcdsWo,8094
137
139
  src/policy_packs/laravel-quality/CHANGELOG.md,sha256=g7f9coAAKmPMa3IxpI1bduvr1WfapgfM6KE_kBs5vLM,1154
138
140
  src/policy_packs/laravel-quality/README.md,sha256=MhSQV-p8F6jmBEenvDvklseQ3FDvnvvmN6A16L6-x4s,1852
139
141
  src/policy_packs/laravel-quality/linter.yml,sha256=bzA9yWf1obx3qDs4TCPzfkinOUJaScDI7mK8BlAm8xo,3191
@@ -148,7 +150,7 @@ src/policy_packs/vue-quality/README.md,sha256=2CCPyZbePU4Aiq06lygcVlOcFtNALJaxh0
148
150
  src/policy_packs/vue-quality/linter.yml,sha256=_G_CMBB4hvo-mkRI0rv77530Es5GnXoNipD5wpfPwvg,2508
149
151
  src/policy_packs/vue-quality/policy.yml,sha256=FyVL17Fl_bgVjxZU5lO7MME5w04vjKV3UfISOBkGBXc,3099
150
152
  src/review/__init__.py,sha256=ux2rkwebfnzuQpFc57eEceOC4CZkojPOtfp951Ux5Gc,700
151
- src/review/diff_normalizer.py,sha256=ITSoJc1s_SKDjSRjFM7pFvotDO9kclW0wf9XSZZcgC4,3635
153
+ src/review/diff_normalizer.py,sha256=8KnFbauGK-fuLGSSL_ox4kAwCE048MuTmorPwBrhlEU,3675
152
154
  src/review/diff_source.py,sha256=V6fMtgxNJbMBL_qRifkLGfzFwtaTCbFFKFvcutHZjLk,2733
153
155
  src/review/remote_pr.py,sha256=9oEEo-v-D08egxwN_EINh5Ju74vow91-CAH1kAb2ql0,13669
154
156
  src/review/render.py,sha256=l63vQ3WiGxPSzCk4JxyQoFNfIyG0AdHgMobAjMeaOcY,3194
@@ -159,13 +161,13 @@ src/split/hunk_grouper.py,sha256=35PU7I_9iUzaN9xaJvoK2y9KGkeKjKofO_7l6xOWWks,145
159
161
  src/split/hunk_parser.py,sha256=DYc82pCKnuquJJwB7nm44WtZKK22lv-d75g9EeBhCm8,10266
160
162
  src/split/split_plan.py,sha256=Y0Ah3LbzixKgAy74dh7XiQImsw6-f2dxwfJSkQHreCw,6572
161
163
  src/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
- src/ui/chat_app.py,sha256=y6hDKGgSaJDfp1rZBWxwQVQHzP_xx6-3q-oxxWnTUfg,26839
164
+ src/ui/chat_app.py,sha256=eOhGsaC2EweYNJe9kdCbN9AMYcN_LI2BCj_tmOYZ7Bs,26789
163
165
  src/ui/commit_app.py,sha256=mggIsdHkg3EIvQoSc11XL7tpkSGJ25WWszHdgmJnMjc,8304
164
- src/ui/config_app.py,sha256=YTQSkSWh97UqIWTcwu2_bAbra9C4pt2vgth8F-L-Ad0,84484
165
- src/ui/help_screen.py,sha256=EvbP8kFZ6Sdehi7bJ6Wo_YcTTk5MTkgneeidWwefYrA,1890
166
- src/ui/issue_app.py,sha256=ao2PDiT539Ppc2LItjesmMG7I5Mj96DIy4fFU7UCw_g,10378
167
- src/ui/linter_app.py,sha256=kXhcHlhOMRCKTdfnXlCU34oDvHkm1aRivGWlz0AkeKM,1612
168
- src/ui/metrics_app.py,sha256=fLDVWFVkJSZcDKfx2t5njtjGR_3laVeHu4rm19ByW7E,16759
166
+ src/ui/config_app.py,sha256=7-Cwcygft2VQm_zoUr9VDHp2DrXPiQTpCZ4qQwGdRng,94655
167
+ src/ui/help_screen.py,sha256=PxdLLey13DycZpIY0nj2Zd0DSF1uV02Gcrq3Ny88CuU,1723
168
+ src/ui/issue_app.py,sha256=ea8RYK0QcS9izoJ9e60TTTznOX8QVhMREW_GQEyi_xM,10192
169
+ src/ui/linter_app.py,sha256=xVMMZJhVQAo6XKI_MrRQvnGXNoDjELRs7k8rNaF4yws,1602
170
+ src/ui/metrics_app.py,sha256=dkXXb6-JkvBGrsjkvbk0A_sfsCCrcBC6pXiJBsvxCbA,17023
169
171
  src/ui/metrics_migration_app.py,sha256=U6l-ORUk1NlC2aIQSLvFjahMVM1dat-wFjWlct0fRYQ,6096
170
172
  src/ui/pr_base_app.py,sha256=OvPcQVeyBrGBH8lhlVy0Ks1kVdvqcYHl7Zc3P2tXPGI,3857
171
173
  src/ui/pr_publish_app.py,sha256=TU5IrSB3bkQEhl2N0W8KCwHfRGGacijqziMD9I7By04,71802
@@ -174,8 +176,8 @@ src/ui/demo/__init__.py,sha256=aOdUN0izuwW2FfLAHG9Qga-DJG5NBVqP0gYNO8OiKls,59
174
176
  src/ui/demo/demo_app.py,sha256=4t_Mct-BJXpe5tlt1XmtRyN1IT0OL6U3WSmGqOJqMG4,3165
175
177
  src/ui/demo/demo_help_screen.py,sha256=I_LELswhPtbHjfMWGVUqLtOwxGbzSYJsVWXjqZrLoLA,2108
176
178
  src/ui/demo/demo_screens.py,sha256=GXaQFTgTn9awSP-EYiBXsCZqB583WrSQcuNYoBK12g8,1997
177
- gitpr_cli-1.5.0.dist-info/METADATA,sha256=xkoqpc842w0Y6RcI0MdeH6VUbn0QvGPKYB821hnIpBE,54016
178
- gitpr_cli-1.5.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
179
- gitpr_cli-1.5.0.dist-info/entry_points.txt,sha256=TstGnMUzdOI5qNmpM97EPDBPuMqOZxoo6EoLxHSOMSQ,71
180
- gitpr_cli-1.5.0.dist-info/top_level.txt,sha256=74rtVfumQlgAPzR5_2CgYN24MB0XARCg0t-gzk6gTrM,4
181
- gitpr_cli-1.5.0.dist-info/RECORD,,
179
+ gitpr_cli-1.6.0.dist-info/METADATA,sha256=2X1Zhfrrpr5qke816yN3qEFunDO6FK1BQy60YYlXTtE,54016
180
+ gitpr_cli-1.6.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
181
+ gitpr_cli-1.6.0.dist-info/entry_points.txt,sha256=TstGnMUzdOI5qNmpM97EPDBPuMqOZxoo6EoLxHSOMSQ,71
182
+ gitpr_cli-1.6.0.dist-info/top_level.txt,sha256=74rtVfumQlgAPzR5_2CgYN24MB0XARCg0t-gzk6gTrM,4
183
+ gitpr_cli-1.6.0.dist-info/RECORD,,
@@ -107,7 +107,8 @@ def current_diff(base: str | None = None, quiet: bool = True) -> str:
107
107
  encoding="utf-8",
108
108
  errors="replace",
109
109
  )
110
- return result.stdout if result.returncode == 0 else ""
110
+ from src.diff_parser import collapse_binary_hunks
111
+ return collapse_binary_hunks(result.stdout) if result.returncode == 0 else ""
111
112
 
112
113
 
113
114
  def diff_files(diff_text: str) -> list[str]:
@@ -108,7 +108,8 @@ def get_check_diff(
108
108
  cwd=repo_path or None,
109
109
  )
110
110
  if proc.returncode == 0:
111
- return proc.stdout or ""
111
+ from src.diff_parser import collapse_binary_hunks
112
+ return collapse_binary_hunks(proc.stdout or "")
112
113
  except OSError:
113
114
  pass
114
115
  return ""