Metadata-Version: 2.1
Name: octohot
Version: 0.0.12
Summary: A git command automation for multiple repositories
Home-page: https://github.com/Hotmart-Org/octohot
Author: Jônatas Renan Camilo Alves
Author-email: jonatas.alves@hotmart.com
License: UNKNOWN
Keywords: git automation github repositories
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# 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:
```shell
$ 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)



