Title: Fix order of operators before executing the git command by guyzmo · Pull Request #431 · gitpython-developers/GitPython · GitHub
Open Graph Title: Fix order of operators before executing the git command by guyzmo · Pull Request #431 · gitpython-developers/GitPython
X Title: Fix order of operators before executing the git command by guyzmo · Pull Request #431 · gitpython-developers/GitPython
Description: Hello, For a tool I'm writing git-repo, I was working with a mockup of subprocess to run regression tests for commands issued through GitPython. I've written a process similar to the VCR or Betamax libraries to define expected command calls passed through Popen. Here is where I setup the mockup, and here is a place where I use it. It was working great, up until recently when I've introduced the --progress support. Then I've been hitting an issue where the same code would fail inconsistently between calls. Cf the travis reports. With a fair bit of debugging, I found out the issue is that because GitPython relies on the kwargs construct to pass around optional arguments, the order of argument will depend on the order of the items within the dict. As when I introduced progress support, opt_arg contains '-v' and '--progress' now, the order depending on both hash('-v') and hash('--progress'). So this request for merging is intended to fix that issue by simply ordering optional arguments by their name before passing the command to subprocess.
Open Graph Description: Hello, For a tool I'm writing git-repo, I was working with a mockup of subprocess to run regression tests for commands issued through GitPython. I've written a process similar to the VCR or...
X Description: Hello, For a tool I'm writing git-repo, I was working with a mockup of subprocess to run regression tests for commands issued through GitPython. I've written a process similar to th...
Opengraph URL: https://github.com/gitpython-developers/GitPython/pull/431
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:791621ad-4b18-42ab-d854-b6fc3b97db48 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | AC50:4BD90:1F6C7D:2C52A6:696A1010 |
| html-safe-nonce | 3c6bdb38b51a8bfeca2409209816302d71df4a58bf6ff5c970a0b3bdf2124007 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQzUwOjRCRDkwOjFGNkM3RDoyQzUyQTY6Njk2QTEwMTAiLCJ2aXNpdG9yX2lkIjoiNjk1MjAxMjM1OTc1NjU1MDE2MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | dde2d896249a2d8e59e5d74d9913bd4c33a84f9ac8199478f492067fb317558e |
| hovercard-subject-tag | pull_request:69853408 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,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/gitpython-developers/GitPython/pull/431/checks |
| twitter:image | https://avatars.githubusercontent.com/u/254441?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/254441?s=400&v=4 |
| og:image:alt | Hello, For a tool I'm writing git-repo, I was working with a mockup of subprocess to run regression tests for commands issued through GitPython. I've written a process similar to the VCR or... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 699227a00bbb7fe1eec276d2ae1c3a93068bc5ba483bd9dc4b2a27a8f4f2f595 |
| 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 full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7266b2d935baa1c6474b16dd9feaa5ca30607261 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width