Title: Git.version_info type annotation is overly specific in length · Issue #1830 · gitpython-developers/GitPython · GitHub
Open Graph Title: Git.version_info type annotation is overly specific in length · Issue #1830 · gitpython-developers/GitPython
X Title: Git.version_info type annotation is overly specific in length · Issue #1830 · gitpython-developers/GitPython
Description: The version_info property is declared to be a length-4 tuple: GitPython/git/cmd.py Lines 833 to 841 in afa5754 @property def version_info(self) -> Tuple[int, int, int, int]: """ :return: tuple(int, int, int, int) tuple with integers repr...
Open Graph Description: The version_info property is declared to be a length-4 tuple: GitPython/git/cmd.py Lines 833 to 841 in afa5754 @property def version_info(self) -> Tuple[int, int, int, int]: """ :return: tuple(int,...
X Description: The version_info property is declared to be a length-4 tuple: GitPython/git/cmd.py Lines 833 to 841 in afa5754 @property def version_info(self) -> Tuple[int, int, int, int]: """ :...
Opengraph URL: https://github.com/gitpython-developers/GitPython/issues/1830
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Git.version_info type annotation is overly specific in length","articleBody":"The `version_info` property is declared to be a length-4 tuple:\r\n\r\nhttps://github.com/gitpython-developers/GitPython/blob/afa575454f85b34800460881cc9c3cd7fe78c8e3/git/cmd.py#L833-L841\r\n\r\nBut it often has fewer values, which is intentional:\r\n\r\nhttps://github.com/gitpython-developers/GitPython/blob/afa575454f85b34800460881cc9c3cd7fe78c8e3/git/cmd.py#L814-L826\r\n\r\nSo the type annotation should be changed, but I am unsure what it should be changed to, whether any additional documentation should be added, and whether having fewer than some number of numeric fields should be treated as an error and cause an exception to be raised.\r\n\r\nIf the type annotation should reflect that only a few specific lengths are reasonable, then it could be expressed as a `Union` of specific-length `Tuple` types. Otherwise it could be expressed as a variable-length tuple by writing the type as `Tuple[int, ...]`.\r\n\r\nI recommend this be solved in such a way that the `cast` can be removed. Currently, the `cast` is working around ambiguity in how the return type is intended to be understood.\r\n\r\nThis is separate from #1829, though I noticed it while looking into that and they could possibly be fixed (or improved or otherwise closed) together.","author":{"url":"https://github.com/EliahKagan","@type":"Person","name":"EliahKagan"},"datePublished":"2024-02-19T02:31:52.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":8},"url":"https://github.com/1830/GitPython/issues/1830"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:0f6421e4-d2dd-83dc-01a3-c402dcdc0da5 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B188:1917D8:6AF76F:916408:6968940D |
| html-safe-nonce | 4ce425cdc31d11f2c3fac4ba081408bd16b85aa5ce0424eef6cefb8508d7ec49 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMTg4OjE5MTdEODo2QUY3NkY6OTE2NDA4OjY5Njg5NDBEIiwidmlzaXRvcl9pZCI6IjIzMjcwNDk3MjEyNDM4MDA1ODkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 6e18a794daf7222555578c58c9e0f37bdcba6ea2735b22ef2d2f8666055e2da1 |
| hovercard-subject-tag | issue:2141370395 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/gitpython-developers/GitPython/1830/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f7ca323570966f1c9229c8c8c271f678e80205fd42e6b0760d9f2f3e399e964b/gitpython-developers/GitPython/issues/1830 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f7ca323570966f1c9229c8c8c271f678e80205fd42e6b0760d9f2f3e399e964b/gitpython-developers/GitPython/issues/1830 |
| og:image:alt | The version_info property is declared to be a length-4 tuple: GitPython/git/cmd.py Lines 833 to 841 in afa5754 @property def version_info(self) -> Tuple[int, int, int, int]: """ :return: tuple(int,... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | EliahKagan |
| hostname | github.com |
| expected-hostname | github.com |
| None | 50f46dc2d6192249fd8ebf20e76c800f4f2596d4a5f3ab63dd63a754df154f54 |
| turbo-cache-control | no-preview |
| go-import | github.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git |
| octolytics-dimension-user_id | 503709 |
| octolytics-dimension-user_login | gitpython-developers |
| octolytics-dimension-repository_id | 1126087 |
| octolytics-dimension-repository_nwo | gitpython-developers/GitPython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1126087 |
| octolytics-dimension-repository_network_root_nwo | gitpython-developers/GitPython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | fef287f17234b4529a4b112a3d47fe8551e32ddd |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width