octohot
A git command automation for multiple repositories
Installation
pip3 install octohot
First use
Create a octohot.yml in an empty folder with organization name, your token and a optional repo list.
octohot.yml example
github_organization: Hotmart-Org
github_token: <GITHUB_TOKEN>
repositories:
- git@github.com:organization/repo1.git
- git@github.com:organization/repo2.git
- git@github.com:organization/repo3.git
Sync, replace and apply usage
octohot github org import # import all repositories from organization to octohot.yml
octohot sync # Clone, reset, delete unpushed Branches, pull all repos in octohot.yml
octohot regex find "[A-Z]*" # Find all upper case words
octohot regex replace "[0-9]*" "" # remove all numbers
octohot regex replace "foo" "baz" # replace foo to baz
octohot apply # Pull, branch, add, commit, push and make a optional PR
Main commands
Clone, reset, delete unpushed branches, pull all repos
octohot sync
Pull, create branch, add, commit, push and make an optional PR on all branches
octohot apply
Some examples you can do:
$ octohot apply -pr <branch_from_pr> <PR title> <PR message>
Options:
$ octohot apply -pr --origin-branch main <pr_branch> <PR title> <PR message>
$ octohot apply -pr --default-branch <branch_from_pr> <PR title> <PR message>
This case, if you choose for --default-branch, during the push, the branch that will be compared default_branch of the repository. If you choose for --origin-branch/-o, during the push, they will be the ones chosen to be compared (in order).
All Commands
octohot --help
git Provider
git provider for octohot
octohot git --help
Create/Change branch in all repos
octohot git branch
Clone all repos
octohot git clone
Commit added changes in all repos
octohot git commit
Get diff from all repos
octohot git diff
Pull all repos
octohot git pull
Push all repos
octohot git push
Reset all repos
octohot git reset
GitHub Provider
GitHub provider for octohot
octohot github --help
Make a PR in all GitHub repos from a specific branch
octohot github pr
Import all repositories to octohot.yml config file from a Organization from GitHub
octohot github org import
List all repositories to octohot.yml config file from a Organization from GitHub
octohot github org list
RegEx Provider
Perl RegEx provider for octohot
octohot regex --help
Find a regular expression in all repos and list files and matches
octohot regex find
Find and replace a string in all repos
octohot regex replace
Contributing
Pull requests for new features, bug fixes and suggestions are welcome!
License
GNU General Public License v3 (GPLv3)
Metadata
Release files for octohot 0.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| octohot-0.0.12.tar.gz | 23.9 kB | Without provenance | Details |
Release files / octohot-0.0.12.tar.gz
| Download URL | octohot-0.0.12.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcdeead5d0c60c09186e93c637a3f72d4d95492caab60ad74aa585e5da9d1ba7
|
|
BLAKE2b-256 checksum How to use checksums |
152124ed4153b980ab250a9e4cdd820dedf9b99347b62fa55e0e4b1f172c22ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Security for octohot 0.0.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.