wtg-cli 0.3.0__tar.gz → 0.3.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.
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/Cargo.lock +52 -69
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/Cargo.toml +4 -5
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/PKG-INFO +14 -2
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/README.md +7 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/README.md +7 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/backend/combined_backend.rs +4 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/backend/github_backend.rs +6 -2
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/backend/mod.rs +9 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/error.rs +23 -1
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/git.rs +2 -4
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/github.rs +158 -55
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/notice.rs +16 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/output.rs +76 -35
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/resolution.rs +21 -5
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/integration.rs +57 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/offline.rs +1 -1
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg-python/src/lib.rs +2 -2
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/pyproject.toml +11 -3
- wtg_cli-0.3.2/rust-toolchain.toml +4 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/LICENSE +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/Cargo.toml +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/backend/git_backend.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/changelog.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/cli.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/constants.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/help.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/lib.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/main.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/parse_input.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/release_filter.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/remote.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/src/semver.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/common/mod.rs +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/fixtures/test-repo.zip +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/snapshots/integration__integration_identify_file.snap +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/snapshots/integration__integration_identify_recent_commit.snap +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg/tests/snapshots/integration__integration_identify_tag.snap +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/crates/wtg-python/Cargo.toml +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/src/wtg_cli/__init__.py +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/src/wtg_cli/__main__.py +0 -0
- {wtg_cli-0.3.0 → wtg_cli-0.3.2}/src/wtg_cli/cli.py +0 -0
|
@@ -104,13 +104,13 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
|
|
|
104
104
|
|
|
105
105
|
[[package]]
|
|
106
106
|
name = "async-trait"
|
|
107
|
-
version = "0.1.
|
|
107
|
+
version = "0.1.92"
|
|
108
108
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
109
|
-
checksum = "
|
|
109
|
+
checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
|
|
110
110
|
dependencies = [
|
|
111
111
|
"proc-macro2",
|
|
112
112
|
"quote",
|
|
113
|
-
"syn",
|
|
113
|
+
"syn 3.0.9",
|
|
114
114
|
]
|
|
115
115
|
|
|
116
116
|
[[package]]
|
|
@@ -287,7 +287,7 @@ dependencies = [
|
|
|
287
287
|
"heck",
|
|
288
288
|
"proc-macro2",
|
|
289
289
|
"quote",
|
|
290
|
-
"syn",
|
|
290
|
+
"syn 2.0.113",
|
|
291
291
|
]
|
|
292
292
|
|
|
293
293
|
[[package]]
|
|
@@ -457,7 +457,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
|
|
|
457
457
|
dependencies = [
|
|
458
458
|
"proc-macro2",
|
|
459
459
|
"quote",
|
|
460
|
-
"syn",
|
|
460
|
+
"syn 2.0.113",
|
|
461
461
|
]
|
|
462
462
|
|
|
463
463
|
[[package]]
|
|
@@ -494,7 +494,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
|
|
|
494
494
|
dependencies = [
|
|
495
495
|
"proc-macro2",
|
|
496
496
|
"quote",
|
|
497
|
-
"syn",
|
|
497
|
+
"syn 2.0.113",
|
|
498
498
|
]
|
|
499
499
|
|
|
500
500
|
[[package]]
|
|
@@ -515,7 +515,7 @@ dependencies = [
|
|
|
515
515
|
"convert_case",
|
|
516
516
|
"proc-macro2",
|
|
517
517
|
"quote",
|
|
518
|
-
"syn",
|
|
518
|
+
"syn 2.0.113",
|
|
519
519
|
]
|
|
520
520
|
|
|
521
521
|
[[package]]
|
|
@@ -559,7 +559,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
|
|
559
559
|
dependencies = [
|
|
560
560
|
"proc-macro2",
|
|
561
561
|
"quote",
|
|
562
|
-
"syn",
|
|
562
|
+
"syn 2.0.113",
|
|
563
563
|
]
|
|
564
564
|
|
|
565
565
|
[[package]]
|
|
@@ -785,7 +785,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
|
|
|
785
785
|
dependencies = [
|
|
786
786
|
"proc-macro2",
|
|
787
787
|
"quote",
|
|
788
|
-
"syn",
|
|
788
|
+
"syn 2.0.113",
|
|
789
789
|
]
|
|
790
790
|
|
|
791
791
|
[[package]]
|
|
@@ -1170,15 +1170,6 @@ dependencies = [
|
|
|
1170
1170
|
"hashbrown",
|
|
1171
1171
|
]
|
|
1172
1172
|
|
|
1173
|
-
[[package]]
|
|
1174
|
-
name = "indoc"
|
|
1175
|
-
version = "2.0.7"
|
|
1176
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1177
|
-
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
|
|
1178
|
-
dependencies = [
|
|
1179
|
-
"rustversion",
|
|
1180
|
-
]
|
|
1181
|
-
|
|
1182
1173
|
[[package]]
|
|
1183
1174
|
name = "inout"
|
|
1184
1175
|
version = "0.1.4"
|
|
@@ -1243,7 +1234,7 @@ checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78"
|
|
|
1243
1234
|
dependencies = [
|
|
1244
1235
|
"proc-macro2",
|
|
1245
1236
|
"quote",
|
|
1246
|
-
"syn",
|
|
1237
|
+
"syn 2.0.113",
|
|
1247
1238
|
]
|
|
1248
1239
|
|
|
1249
1240
|
[[package]]
|
|
@@ -1424,15 +1415,6 @@ version = "2.7.6"
|
|
|
1424
1415
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1425
1416
|
checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
|
|
1426
1417
|
|
|
1427
|
-
[[package]]
|
|
1428
|
-
name = "memoffset"
|
|
1429
|
-
version = "0.9.1"
|
|
1430
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1431
|
-
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
1432
|
-
dependencies = [
|
|
1433
|
-
"autocfg",
|
|
1434
|
-
]
|
|
1435
|
-
|
|
1436
1418
|
[[package]]
|
|
1437
1419
|
name = "miniz_oxide"
|
|
1438
1420
|
version = "0.8.9"
|
|
@@ -1694,7 +1676,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
|
|
|
1694
1676
|
dependencies = [
|
|
1695
1677
|
"proc-macro2",
|
|
1696
1678
|
"quote",
|
|
1697
|
-
"syn",
|
|
1679
|
+
"syn 2.0.113",
|
|
1698
1680
|
]
|
|
1699
1681
|
|
|
1700
1682
|
[[package]]
|
|
@@ -1810,35 +1792,32 @@ dependencies = [
|
|
|
1810
1792
|
|
|
1811
1793
|
[[package]]
|
|
1812
1794
|
name = "pyo3"
|
|
1813
|
-
version = "0.
|
|
1795
|
+
version = "0.30.1"
|
|
1814
1796
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1815
|
-
checksum = "
|
|
1797
|
+
checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
|
|
1816
1798
|
dependencies = [
|
|
1817
|
-
"indoc",
|
|
1818
1799
|
"libc",
|
|
1819
|
-
"memoffset",
|
|
1820
1800
|
"once_cell",
|
|
1821
1801
|
"portable-atomic",
|
|
1822
1802
|
"pyo3-build-config",
|
|
1823
1803
|
"pyo3-ffi",
|
|
1824
1804
|
"pyo3-macros",
|
|
1825
|
-
"unindent",
|
|
1826
1805
|
]
|
|
1827
1806
|
|
|
1828
1807
|
[[package]]
|
|
1829
1808
|
name = "pyo3-build-config"
|
|
1830
|
-
version = "0.
|
|
1809
|
+
version = "0.30.1"
|
|
1831
1810
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1832
|
-
checksum = "
|
|
1811
|
+
checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
|
|
1833
1812
|
dependencies = [
|
|
1834
1813
|
"target-lexicon",
|
|
1835
1814
|
]
|
|
1836
1815
|
|
|
1837
1816
|
[[package]]
|
|
1838
1817
|
name = "pyo3-ffi"
|
|
1839
|
-
version = "0.
|
|
1818
|
+
version = "0.30.1"
|
|
1840
1819
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1841
|
-
checksum = "
|
|
1820
|
+
checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
|
|
1842
1821
|
dependencies = [
|
|
1843
1822
|
"libc",
|
|
1844
1823
|
"pyo3-build-config",
|
|
@@ -1846,27 +1825,26 @@ dependencies = [
|
|
|
1846
1825
|
|
|
1847
1826
|
[[package]]
|
|
1848
1827
|
name = "pyo3-macros"
|
|
1849
|
-
version = "0.
|
|
1828
|
+
version = "0.30.1"
|
|
1850
1829
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1851
|
-
checksum = "
|
|
1830
|
+
checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
|
|
1852
1831
|
dependencies = [
|
|
1853
1832
|
"proc-macro2",
|
|
1854
1833
|
"pyo3-macros-backend",
|
|
1855
1834
|
"quote",
|
|
1856
|
-
"syn",
|
|
1835
|
+
"syn 3.0.9",
|
|
1857
1836
|
]
|
|
1858
1837
|
|
|
1859
1838
|
[[package]]
|
|
1860
1839
|
name = "pyo3-macros-backend"
|
|
1861
|
-
version = "0.
|
|
1840
|
+
version = "0.30.1"
|
|
1862
1841
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1863
|
-
checksum = "
|
|
1842
|
+
checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
|
|
1864
1843
|
dependencies = [
|
|
1865
1844
|
"heck",
|
|
1866
1845
|
"proc-macro2",
|
|
1867
|
-
"pyo3-build-config",
|
|
1868
1846
|
"quote",
|
|
1869
|
-
"syn",
|
|
1847
|
+
"syn 3.0.9",
|
|
1870
1848
|
]
|
|
1871
1849
|
|
|
1872
1850
|
[[package]]
|
|
@@ -2038,7 +2016,7 @@ dependencies = [
|
|
|
2038
2016
|
"regex",
|
|
2039
2017
|
"relative-path",
|
|
2040
2018
|
"rustc_version",
|
|
2041
|
-
"syn",
|
|
2019
|
+
"syn 2.0.113",
|
|
2042
2020
|
"unicode-ident",
|
|
2043
2021
|
]
|
|
2044
2022
|
|
|
@@ -2221,7 +2199,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
|
2221
2199
|
dependencies = [
|
|
2222
2200
|
"proc-macro2",
|
|
2223
2201
|
"quote",
|
|
2224
|
-
"syn",
|
|
2202
|
+
"syn 2.0.113",
|
|
2225
2203
|
]
|
|
2226
2204
|
|
|
2227
2205
|
[[package]]
|
|
@@ -2396,7 +2374,7 @@ dependencies = [
|
|
|
2396
2374
|
"heck",
|
|
2397
2375
|
"proc-macro2",
|
|
2398
2376
|
"quote",
|
|
2399
|
-
"syn",
|
|
2377
|
+
"syn 2.0.113",
|
|
2400
2378
|
]
|
|
2401
2379
|
|
|
2402
2380
|
[[package]]
|
|
@@ -2455,7 +2433,7 @@ dependencies = [
|
|
|
2455
2433
|
"heck",
|
|
2456
2434
|
"proc-macro2",
|
|
2457
2435
|
"quote",
|
|
2458
|
-
"syn",
|
|
2436
|
+
"syn 2.0.113",
|
|
2459
2437
|
]
|
|
2460
2438
|
|
|
2461
2439
|
[[package]]
|
|
@@ -2475,6 +2453,17 @@ dependencies = [
|
|
|
2475
2453
|
"unicode-ident",
|
|
2476
2454
|
]
|
|
2477
2455
|
|
|
2456
|
+
[[package]]
|
|
2457
|
+
name = "syn"
|
|
2458
|
+
version = "3.0.9"
|
|
2459
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2460
|
+
checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
|
|
2461
|
+
dependencies = [
|
|
2462
|
+
"proc-macro2",
|
|
2463
|
+
"quote",
|
|
2464
|
+
"unicode-ident",
|
|
2465
|
+
]
|
|
2466
|
+
|
|
2478
2467
|
[[package]]
|
|
2479
2468
|
name = "sync_wrapper"
|
|
2480
2469
|
version = "1.0.2"
|
|
@@ -2489,7 +2478,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
|
|
2489
2478
|
dependencies = [
|
|
2490
2479
|
"proc-macro2",
|
|
2491
2480
|
"quote",
|
|
2492
|
-
"syn",
|
|
2481
|
+
"syn 2.0.113",
|
|
2493
2482
|
]
|
|
2494
2483
|
|
|
2495
2484
|
[[package]]
|
|
@@ -2538,7 +2527,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
|
|
|
2538
2527
|
dependencies = [
|
|
2539
2528
|
"proc-macro2",
|
|
2540
2529
|
"quote",
|
|
2541
|
-
"syn",
|
|
2530
|
+
"syn 2.0.113",
|
|
2542
2531
|
]
|
|
2543
2532
|
|
|
2544
2533
|
[[package]]
|
|
@@ -2604,7 +2593,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
|
|
|
2604
2593
|
dependencies = [
|
|
2605
2594
|
"proc-macro2",
|
|
2606
2595
|
"quote",
|
|
2607
|
-
"syn",
|
|
2596
|
+
"syn 2.0.113",
|
|
2608
2597
|
]
|
|
2609
2598
|
|
|
2610
2599
|
[[package]]
|
|
@@ -2728,7 +2717,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
|
|
|
2728
2717
|
dependencies = [
|
|
2729
2718
|
"proc-macro2",
|
|
2730
2719
|
"quote",
|
|
2731
|
-
"syn",
|
|
2720
|
+
"syn 2.0.113",
|
|
2732
2721
|
]
|
|
2733
2722
|
|
|
2734
2723
|
[[package]]
|
|
@@ -2776,12 +2765,6 @@ version = "0.2.2"
|
|
|
2776
2765
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2777
2766
|
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
|
|
2778
2767
|
|
|
2779
|
-
[[package]]
|
|
2780
|
-
name = "unindent"
|
|
2781
|
-
version = "0.2.4"
|
|
2782
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2783
|
-
checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
|
|
2784
|
-
|
|
2785
2768
|
[[package]]
|
|
2786
2769
|
name = "unsafe-libyaml"
|
|
2787
2770
|
version = "0.2.11"
|
|
@@ -2886,7 +2869,7 @@ dependencies = [
|
|
|
2886
2869
|
"bumpalo",
|
|
2887
2870
|
"proc-macro2",
|
|
2888
2871
|
"quote",
|
|
2889
|
-
"syn",
|
|
2872
|
+
"syn 2.0.113",
|
|
2890
2873
|
"wasm-bindgen-shared",
|
|
2891
2874
|
]
|
|
2892
2875
|
|
|
@@ -2953,7 +2936,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
|
|
|
2953
2936
|
dependencies = [
|
|
2954
2937
|
"proc-macro2",
|
|
2955
2938
|
"quote",
|
|
2956
|
-
"syn",
|
|
2939
|
+
"syn 2.0.113",
|
|
2957
2940
|
]
|
|
2958
2941
|
|
|
2959
2942
|
[[package]]
|
|
@@ -2964,7 +2947,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
|
|
|
2964
2947
|
dependencies = [
|
|
2965
2948
|
"proc-macro2",
|
|
2966
2949
|
"quote",
|
|
2967
|
-
"syn",
|
|
2950
|
+
"syn 2.0.113",
|
|
2968
2951
|
]
|
|
2969
2952
|
|
|
2970
2953
|
[[package]]
|
|
@@ -3179,7 +3162,7 @@ checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
|
|
|
3179
3162
|
|
|
3180
3163
|
[[package]]
|
|
3181
3164
|
name = "wtg-cli"
|
|
3182
|
-
version = "0.3.
|
|
3165
|
+
version = "0.3.2"
|
|
3183
3166
|
dependencies = [
|
|
3184
3167
|
"async-trait",
|
|
3185
3168
|
"base64",
|
|
@@ -3207,7 +3190,7 @@ dependencies = [
|
|
|
3207
3190
|
|
|
3208
3191
|
[[package]]
|
|
3209
3192
|
name = "wtg-python"
|
|
3210
|
-
version = "0.3.
|
|
3193
|
+
version = "0.3.2"
|
|
3211
3194
|
dependencies = [
|
|
3212
3195
|
"pyo3",
|
|
3213
3196
|
"wtg-cli",
|
|
@@ -3232,7 +3215,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
|
|
|
3232
3215
|
dependencies = [
|
|
3233
3216
|
"proc-macro2",
|
|
3234
3217
|
"quote",
|
|
3235
|
-
"syn",
|
|
3218
|
+
"syn 2.0.113",
|
|
3236
3219
|
"synstructure",
|
|
3237
3220
|
]
|
|
3238
3221
|
|
|
@@ -3253,7 +3236,7 @@ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
|
|
|
3253
3236
|
dependencies = [
|
|
3254
3237
|
"proc-macro2",
|
|
3255
3238
|
"quote",
|
|
3256
|
-
"syn",
|
|
3239
|
+
"syn 2.0.113",
|
|
3257
3240
|
]
|
|
3258
3241
|
|
|
3259
3242
|
[[package]]
|
|
@@ -3273,7 +3256,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
|
|
3273
3256
|
dependencies = [
|
|
3274
3257
|
"proc-macro2",
|
|
3275
3258
|
"quote",
|
|
3276
|
-
"syn",
|
|
3259
|
+
"syn 2.0.113",
|
|
3277
3260
|
"synstructure",
|
|
3278
3261
|
]
|
|
3279
3262
|
|
|
@@ -3294,7 +3277,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
|
|
|
3294
3277
|
dependencies = [
|
|
3295
3278
|
"proc-macro2",
|
|
3296
3279
|
"quote",
|
|
3297
|
-
"syn",
|
|
3280
|
+
"syn 2.0.113",
|
|
3298
3281
|
]
|
|
3299
3282
|
|
|
3300
3283
|
[[package]]
|
|
@@ -3327,7 +3310,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
|
|
|
3327
3310
|
dependencies = [
|
|
3328
3311
|
"proc-macro2",
|
|
3329
3312
|
"quote",
|
|
3330
|
-
"syn",
|
|
3313
|
+
"syn 2.0.113",
|
|
3331
3314
|
]
|
|
3332
3315
|
|
|
3333
3316
|
[[package]]
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
[workspace]
|
|
2
2
|
resolver = "2"
|
|
3
|
-
members = ["crates/wtg-python"]
|
|
4
|
-
default-members = ["crates/wtg"]
|
|
3
|
+
members = ["crates/wtg", "crates/wtg-python"]
|
|
5
4
|
|
|
6
5
|
[workspace.package]
|
|
7
|
-
version = "0.3.
|
|
6
|
+
version = "0.3.2"
|
|
8
7
|
edition = "2024"
|
|
9
8
|
description = "A snarky but helpful CLI tool to identify git commits, issues, PRs and file changes, and tell you which release they shipped in"
|
|
10
9
|
authors = ["Mike Perlov"]
|
|
@@ -47,12 +46,12 @@ serde = { version = "1.0", features = ["derive"] }
|
|
|
47
46
|
serde_yaml = "0.9"
|
|
48
47
|
dirs = "6.0"
|
|
49
48
|
chrono = "0.4"
|
|
50
|
-
pyo3 = { version = "0.
|
|
49
|
+
pyo3 = { version = "0.30.1", features = ["extension-module"] }
|
|
51
50
|
regex = "1.12"
|
|
52
51
|
percent-encoding = "2.3"
|
|
53
52
|
url = "2.5"
|
|
54
53
|
strum = { version = "0.27.2", features = ["derive", "strum_macros"] }
|
|
55
|
-
async-trait = "0.1"
|
|
54
|
+
async-trait = "0.1.92"
|
|
56
55
|
log = "0.4"
|
|
57
56
|
env_logger = "0.11"
|
|
58
57
|
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wtg-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Classifier: Programming Language :: Python :: 3
|
|
5
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
6
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
5
10
|
Classifier: Programming Language :: Rust
|
|
6
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
7
12
|
Classifier: Operating System :: OS Independent
|
|
@@ -10,7 +15,7 @@ License-File: LICENSE
|
|
|
10
15
|
Summary: What The Git CLI – snarky Git history sleuth packaged for Python
|
|
11
16
|
Author: Mike Perlov
|
|
12
17
|
License: MIT
|
|
13
|
-
Requires-Python: >=3.
|
|
18
|
+
Requires-Python: >=3.11
|
|
14
19
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
15
20
|
|
|
16
21
|
# What The Git (wtg) 🔍
|
|
@@ -177,3 +182,10 @@ MIT
|
|
|
177
182
|
|
|
178
183
|
Found a bug? Want to add a snarky message? PRs welcome! Just make sure to keep the snark levels high and the code quality higher.
|
|
179
184
|
|
|
185
|
+
<details>
|
|
186
|
+
<summary>Python package compatibility</summary>
|
|
187
|
+
|
|
188
|
+
Python 3.11–3.15 is supported. Prebuilt CPython 3.11–3.15 wheels are available for macOS ARM64, Linux x86_64, and Windows x86_64. Other installations build from source and require a Rust toolchain.
|
|
189
|
+
|
|
190
|
+
</details>
|
|
191
|
+
|
|
@@ -161,3 +161,10 @@ MIT
|
|
|
161
161
|
## Contributing
|
|
162
162
|
|
|
163
163
|
Found a bug? Want to add a snarky message? PRs welcome! Just make sure to keep the snark levels high and the code quality higher.
|
|
164
|
+
|
|
165
|
+
<details>
|
|
166
|
+
<summary>Python package compatibility</summary>
|
|
167
|
+
|
|
168
|
+
Python 3.11–3.15 is supported. Prebuilt CPython 3.11–3.15 wheels are available for macOS ARM64, Linux x86_64, and Windows x86_64. Other installations build from source and require a Rust toolchain.
|
|
169
|
+
|
|
170
|
+
</details>
|
|
@@ -161,3 +161,10 @@ MIT
|
|
|
161
161
|
## Contributing
|
|
162
162
|
|
|
163
163
|
Found a bug? Want to add a snarky message? PRs welcome! Just make sure to keep the snark levels high and the code quality higher.
|
|
164
|
+
|
|
165
|
+
<details>
|
|
166
|
+
<summary>Python package compatibility</summary>
|
|
167
|
+
|
|
168
|
+
Python 3.11–3.15 is supported. Prebuilt CPython 3.11–3.15 wheels are available for macOS ARM64, Linux x86_64, and Windows x86_64. Other installations build from source and require a Rust toolchain.
|
|
169
|
+
|
|
170
|
+
</details>
|
|
@@ -250,6 +250,10 @@ impl CombinedBackend {
|
|
|
250
250
|
|
|
251
251
|
#[async_trait]
|
|
252
252
|
impl Backend for CombinedBackend {
|
|
253
|
+
fn emit_notice(&self, notice: Notice) {
|
|
254
|
+
self.emit(notice);
|
|
255
|
+
}
|
|
256
|
+
|
|
253
257
|
async fn backend_for_pr(&self, pr: &PullRequestInfo) -> Option<Box<dyn Backend>> {
|
|
254
258
|
let pr_repo = pr.repo_info.as_ref()?;
|
|
255
259
|
let our_repo = self.github.repo_info();
|
|
@@ -13,7 +13,7 @@ use crate::changelog;
|
|
|
13
13
|
use crate::error::{WtgError, WtgResult};
|
|
14
14
|
use crate::git::{CommitInfo, TagInfo, looks_like_commit_hash};
|
|
15
15
|
use crate::github::{ExtendedIssueInfo, GhRepoInfo, GitHubClient, PullRequestInfo};
|
|
16
|
-
use crate::notice::NoticeCallback;
|
|
16
|
+
use crate::notice::{Notice, NoticeCallback};
|
|
17
17
|
use crate::parse_input::{ParsedQuery, Query};
|
|
18
18
|
use crate::release_filter::ReleaseFilter;
|
|
19
19
|
|
|
@@ -122,6 +122,10 @@ impl GitHubBackend {
|
|
|
122
122
|
|
|
123
123
|
#[async_trait]
|
|
124
124
|
impl Backend for GitHubBackend {
|
|
125
|
+
fn emit_notice(&self, notice: Notice) {
|
|
126
|
+
self.client.emit(notice);
|
|
127
|
+
}
|
|
128
|
+
|
|
125
129
|
async fn backend_for_pr(&self, pr: &PullRequestInfo) -> Option<Box<dyn Backend>> {
|
|
126
130
|
let pr_repo = pr.repo_info.as_ref()?;
|
|
127
131
|
|
|
@@ -220,7 +224,7 @@ impl Backend for GitHubBackend {
|
|
|
220
224
|
.filter(|r| r.created_at.is_some_and(|d| d < current.created_at))
|
|
221
225
|
.collect();
|
|
222
226
|
|
|
223
|
-
candidates.
|
|
227
|
+
candidates.sort_by_key(|release| std::cmp::Reverse(release.created_at));
|
|
224
228
|
|
|
225
229
|
if let Some(prev) = candidates.first() {
|
|
226
230
|
return self.find_tag(&prev.tag_name).await.map(Some);
|
|
@@ -33,6 +33,14 @@ use crate::remote::{RemoteHost, RemoteInfo};
|
|
|
33
33
|
/// return `WtgError::Unsupported` for operations not available.
|
|
34
34
|
#[async_trait]
|
|
35
35
|
pub trait Backend: Send + Sync {
|
|
36
|
+
// ============================================
|
|
37
|
+
// Notice emission (default: no-op)
|
|
38
|
+
// ============================================
|
|
39
|
+
|
|
40
|
+
/// Emit a notice to the registered callback.
|
|
41
|
+
/// Used by resolution code to surface warnings to the user.
|
|
42
|
+
fn emit_notice(&self, _notice: Notice) {}
|
|
43
|
+
|
|
36
44
|
// ============================================
|
|
37
45
|
// Cross-project support (default: not supported)
|
|
38
46
|
// ============================================
|
|
@@ -227,6 +235,7 @@ pub fn resolve_backend_with_notices(
|
|
|
227
235
|
} else {
|
|
228
236
|
// Can't access git locally, use pure API (soft notice)
|
|
229
237
|
notice_cb(Notice::ApiOnly);
|
|
238
|
+
github.set_notice_callback(notice_cb);
|
|
230
239
|
Ok(Box::new(github))
|
|
231
240
|
}
|
|
232
241
|
} else {
|
|
@@ -16,6 +16,7 @@ pub enum WtgError {
|
|
|
16
16
|
GhConnectionLost,
|
|
17
17
|
GhRateLimit(OctoError),
|
|
18
18
|
GhSaml(OctoError),
|
|
19
|
+
GhBadCredentials(OctoError),
|
|
19
20
|
GitHub(OctoError),
|
|
20
21
|
MultipleMatches(Vec<String>),
|
|
21
22
|
Io(std::io::Error),
|
|
@@ -142,6 +143,26 @@ impl fmt::Display for WtgError {
|
|
|
142
143
|
"Try authenticating your GITHUB_TOKEN with SAML first!".red()
|
|
143
144
|
)
|
|
144
145
|
}
|
|
146
|
+
Self::GhBadCredentials(_) => {
|
|
147
|
+
writeln!(
|
|
148
|
+
f,
|
|
149
|
+
"{}",
|
|
150
|
+
"🔑 Nope! GitHub doesn't recognize that token."
|
|
151
|
+
.yellow()
|
|
152
|
+
.bold()
|
|
153
|
+
)?;
|
|
154
|
+
writeln!(f)?;
|
|
155
|
+
writeln!(
|
|
156
|
+
f,
|
|
157
|
+
" {}",
|
|
158
|
+
"Expired? Revoked? Typo? It happens to the best of us. 🤷".yellow()
|
|
159
|
+
)?;
|
|
160
|
+
writeln!(
|
|
161
|
+
f,
|
|
162
|
+
" {}",
|
|
163
|
+
"Check your GITHUB_TOKEN and try again!".yellow()
|
|
164
|
+
)
|
|
165
|
+
}
|
|
145
166
|
Self::GitHub(e) => write!(f, "GitHub error: {e}"),
|
|
146
167
|
Self::MultipleMatches(types) => {
|
|
147
168
|
writeln!(f, "{}", "💥 OH MY, YOU BLEW ME UP!".red().bold())?;
|
|
@@ -273,11 +294,12 @@ impl From<OctoError> for WtgError {
|
|
|
273
294
|
fn from(err: OctoError) -> Self {
|
|
274
295
|
if let OctoError::GitHub { ref source, .. } = err {
|
|
275
296
|
match source.status_code {
|
|
297
|
+
StatusCode::UNAUTHORIZED => return Self::GhBadCredentials(err),
|
|
276
298
|
StatusCode::TOO_MANY_REQUESTS => return Self::GhRateLimit(err),
|
|
277
299
|
StatusCode::FORBIDDEN => {
|
|
278
300
|
let msg_lower = source.message.to_ascii_lowercase();
|
|
279
301
|
|
|
280
|
-
if msg_lower.
|
|
302
|
+
if msg_lower.contains("saml") {
|
|
281
303
|
return Self::GhSaml(err);
|
|
282
304
|
}
|
|
283
305
|
|
|
@@ -249,8 +249,7 @@ impl GitRepo {
|
|
|
249
249
|
fn collect_remotes(repo: &Repository) -> Vec<RemoteInfo> {
|
|
250
250
|
let remote_names: Vec<String> = repo
|
|
251
251
|
.remotes()
|
|
252
|
-
.
|
|
253
|
-
.unwrap_or_default();
|
|
252
|
+
.map_or_default(|names| names.iter().flatten().map(str::to_string).collect());
|
|
254
253
|
|
|
255
254
|
remote_names
|
|
256
255
|
.into_iter()
|
|
@@ -733,8 +732,7 @@ impl GitRepo {
|
|
|
733
732
|
self.with_repo(|repo| {
|
|
734
733
|
Oid::from_str(commit_hash)
|
|
735
734
|
.and_then(|oid| repo.find_commit(oid))
|
|
736
|
-
.
|
|
737
|
-
.unwrap_or(0)
|
|
735
|
+
.map_or(0, |c| c.time().seconds())
|
|
738
736
|
})
|
|
739
737
|
}
|
|
740
738
|
|