# gitkit
A tool for analyzing and synchronizing git repositories with github
## Installation
`python3 -m pip install gitkit --upgrade`
**Test version**
`python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps gitkit --upgrade`
## Usage
`gitkit [OPTIONS] COMMAND [ARGS]...`
### **Options:**
| Option | Typ | Description |
| ---------------- | ---- | ----------- |
| -t, --target-dir | TEXT | The local target/source path
| -u, --user | TEXT | The github username
| -p, --password | TEXT | The github password
| -l, --list | | Print results. Does not execute any command.
| --help | | Show this message and exit.
### **Commands:**
| Command | Description |
| ------- | ----------- |
| clone | Clone repositories |
| commit | Commit repositories |
| find | Search local repositories |
| pull | Pull repositories |
| push | Push repositories |
#### **find Options:**
| Option | Description |
| --------------------------------- | ----------- |
| -p, --private / -np, --no-private | -p = Private only, -np = Public only - Default with private and public. |
| -f, --forks / -nf, --no-forks | -f = Forks only, -nf = Without forks - Default with forks. |
| -o, --owner / -no, --no-owner | -o = Owned only, -no = Not owned only - Default owned and not owned. |
| -d, --dirty / -nd, --no-dirty | -d = Dirty only, -nd = Clean only - Default clean and dirty. |
| -a, --ahead / -na, --no-ahead | -a = local branch is ahead of remote, -nd = local branch is not ahead of remote. Default both. |
| -b, --behind / -nb, --no-behind | -b = local branch is behind remote, -nd = local branch is not behind remote. Default both. |
| -r, --remote | -r = Remote github repositories only. Default all. |
| --help | | Show this message and exit. |
**Samples:**
| Description | Command |
| ----------- | ------- |
| Help | `gitkit --help` |
| Clone all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github clone` |
| Pull all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github pull` |
| Push all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github push` |
| Commit all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github commit` |
| Find all repositories | `gitkit -t /tmp/src/github find` |
| Find all repositories | `cd /your/path/ && gitkit find` |
| Find dirty repositories | `gitkit -t /tmp/src/github find -d` |
| Find private repositories | `gitkit -t /tmp/src/github find -p` |
| Find private dirty repositories | `gitkit -t /tmp/src/github find -pd` |
| Find public repositories | `gitkit -t /tmp/src/github find -np` |
| Find forked repositories | `gitkit -t /tmp/src/github find -f` |
| Find owned repositories | `gitkit -t /tmp/src/github find -o` |
| Find ahead remote repositories | `gitkit -t /tmp/src/github find -a` |
| Find behind remote repositories | `gitkit -t /tmp/src/github find -a` |
| Find not owned repositories |`gitkit -u dotupNET -t /tmp/src/github/ -l find -no`|
| Find remote, not cloned, repositories only |`gitkit -l find -r`|
| Push your own repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -a -o push` |
| Stage, Commit and Push your own dirty repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -o -d push -ac` |
| Pull your forked repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -b -o -f pull` |
> Environment variable for user, password and target available
>
> ```ini
> user=XYZ
> password=XYZ
> target-dir=/tmp/src
> ```
### Grouped clone:
You can group your sources into different folders.
| Command | Description |
| ------------- | ----------- |
| --group forks | Rpositories will be cloned into subfolder "forks" |
| --group owner | Rpositories will be cloned into subfolder, named with the github login name |
```bash
mkdir -p /tmp/src
cd /tmp/src
gitkit -u dotupNET -p TopSecret clone --group forks --group owner
```
**The target folders will be:**
For your own repositories: */tmp/src/dotupNET*
For your own forked repositories: */tmp/src/dotupNET/forks*
For repositories you don't own: */tmp/src/RepositoryOwner*
For forked repositories you don't own: */tmp/src/RepositoryOwner/forks*
https://github.com/dotupNET/gitkit
Raw data
{
"_id": null,
"home_page": "https://github.com/dotupNET",
"name": "gitkit",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": "",
"keywords": "dotup git github sync",
"author": "Peter Ullrich",
"author_email": "dotup.software@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8b/ce/bdc080fb6aa5b2d6f4fcf4415e73e905a3e0ba42c3225143d0b676d756ca/gitkit-0.2.0.tar.gz",
"platform": null,
"description": "# gitkit\nA tool for analyzing and synchronizing git repositories with github\n\n## Installation\n\n`python3 -m pip install gitkit --upgrade`\n\n**Test version**\n\n`python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps gitkit --upgrade`\n\n## Usage\n`gitkit [OPTIONS] COMMAND [ARGS]...`\n\n### **Options:**\n\n| Option | Typ | Description |\n| ---------------- | ---- | ----------- |\n| -t, --target-dir | TEXT | The local target/source path\n| -u, --user | TEXT | The github username\n| -p, --password | TEXT | The github password\n| -l, --list | | Print results. Does not execute any command.\n| --help | | Show this message and exit.\n\n### **Commands:**\n\n| Command | Description |\n| ------- | ----------- |\n| clone | Clone repositories |\n| commit | Commit repositories |\n| find | Search local repositories |\n| pull | Pull repositories |\n| push | Push repositories |\n\n#### **find Options:**\n\n| Option | Description |\n| --------------------------------- | ----------- |\n| -p, --private / -np, --no-private | -p = Private only, -np = Public only - Default with private and public. |\n| -f, --forks / -nf, --no-forks | -f = Forks only, -nf = Without forks - Default with forks. |\n| -o, --owner / -no, --no-owner | -o = Owned only, -no = Not owned only - Default owned and not owned. |\n| -d, --dirty / -nd, --no-dirty | -d = Dirty only, -nd = Clean only - Default clean and dirty. |\n| -a, --ahead / -na, --no-ahead | -a = local branch is ahead of remote, -nd = local branch is not ahead of remote. Default both. |\n| -b, --behind / -nb, --no-behind | -b = local branch is behind remote, -nd = local branch is not behind remote. Default both. |\n| -r, --remote | -r = Remote github repositories only. Default all. |\n| --help | | Show this message and exit. |\n\n\n**Samples:**\n| Description | Command |\n| ----------- | ------- |\n| Help | `gitkit --help` |\n| Clone all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github clone` |\n| Pull all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github pull` |\n| Push all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github push` |\n| Commit all repositories. | `gitkit -u <USERNAME> -p <PASSWORD> -t /tmp/src/github commit` |\n| Find all repositories | `gitkit -t /tmp/src/github find` |\n| Find all repositories | `cd /your/path/ && gitkit find` |\n| Find dirty repositories | `gitkit -t /tmp/src/github find -d` |\n| Find private repositories | `gitkit -t /tmp/src/github find -p` |\n| Find private dirty repositories | `gitkit -t /tmp/src/github find -pd` |\n| Find public repositories | `gitkit -t /tmp/src/github find -np` |\n| Find forked repositories | `gitkit -t /tmp/src/github find -f` |\n| Find owned repositories | `gitkit -t /tmp/src/github find -o` |\n| Find ahead remote repositories | `gitkit -t /tmp/src/github find -a` |\n| Find behind remote repositories | `gitkit -t /tmp/src/github find -a` |\n| Find not owned repositories |`gitkit -u dotupNET -t /tmp/src/github/ -l find -no`|\n| Find remote, not cloned, repositories only |`gitkit -l find -r`|\n| Push your own repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -a -o push` |\n| Stage, Commit and Push your own dirty repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -o -d push -ac` |\n| Pull your forked repositories | `gitkit -u <USERNAME> -p <PASSWORD> find -b -o -f pull` |\n\n> Environment variable for user, password and target available\n>\n> ```ini\n> user=XYZ\n> password=XYZ\n> target-dir=/tmp/src\n> ```\n\n### Grouped clone:\n\nYou can group your sources into different folders.\n\n| Command | Description |\n| ------------- | ----------- |\n| --group forks | Rpositories will be cloned into subfolder \"forks\" |\n| --group owner | Rpositories will be cloned into subfolder, named with the github login name |\n\n```bash\nmkdir -p /tmp/src\ncd /tmp/src\ngitkit -u dotupNET -p TopSecret clone --group forks --group owner\n```\n\n**The target folders will be:**\n\nFor your own repositories: */tmp/src/dotupNET*\n\nFor your own forked repositories: */tmp/src/dotupNET/forks*\n\nFor repositories you don't own: */tmp/src/RepositoryOwner*\n\nFor forked repositories you don't own: */tmp/src/RepositoryOwner/forks*\n\n\nhttps://github.com/dotupNET/gitkit\n",
"bugtrack_url": null,
"license": "GNU General Public License v3.0",
"summary": "Keep your git repositories up to date",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/dotupNET"
},
"split_keywords": [
"dotup",
"git",
"github",
"sync"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "faa8024ce6a637ea1de10a0e89ebe4b3417ae93b5adb43e7a43d73d053139828",
"md5": "6575eb5e83641532e4077c555b0d9588",
"sha256": "11630dad073fdac29c5f999774d038215c05c8dc0214465d5e149f2f0563ac0e"
},
"downloads": -1,
"filename": "gitkit-0.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6575eb5e83641532e4077c555b0d9588",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3",
"size": 31540,
"upload_time": "2023-09-08T20:01:37",
"upload_time_iso_8601": "2023-09-08T20:01:37.985269Z",
"url": "https://files.pythonhosted.org/packages/fa/a8/024ce6a637ea1de10a0e89ebe4b3417ae93b5adb43e7a43d73d053139828/gitkit-0.2.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8bcebdc080fb6aa5b2d6f4fcf4415e73e905a3e0ba42c3225143d0b676d756ca",
"md5": "e262f2f0eba06d5768f36946950cb7d3",
"sha256": "c8592f9dbab37b2991b3fe95d42cba43cb4fc9a0572ecb84fe896993f9552e04"
},
"downloads": -1,
"filename": "gitkit-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "e262f2f0eba06d5768f36946950cb7d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 26265,
"upload_time": "2023-09-08T20:01:40",
"upload_time_iso_8601": "2023-09-08T20:01:40.132121Z",
"url": "https://files.pythonhosted.org/packages/8b/ce/bdc080fb6aa5b2d6f4fcf4415e73e905a3e0ba42c3225143d0b676d756ca/gitkit-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-08 20:01:40",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gitkit"
}