This release is a pre-release and may not be stable for production use.
GitArgus
Python utility to synchronize state of git workspaces for developers who use multiple machines. Uses AWS free tier DynamoDB to store the state. Can automatically pull changes if fast-forwarding is possible. Currently version only supports Unix systems.
Installation
pip install gitargus
AWS Infrastructure setup
You can create a free AWS account and use the always-free allowance to run GitArgus. Consult AWS documentation on how to perform the required steps.
Create a DynamoDB table with a String partition key named 'hostname'. 1 read and write capacity should be enough, but turning on capacity auto scaling is recommended.
Install aws-cli to each machine you will run GitArgus on. Log in with a user and save it's credentails who has permission to write to the DynamoDB table. GitArgus will pick up these credentials.
Configuration
Create the '.gitargus' directory in your home folder, and create the configuration file 'config.yml':
hostname: machine
root: /home/user/Workspace
repositories:
- repo1
- repo2
- project1/repo1
- project2/repo1
- project2/repo2
aws:
dynamodb:
table: git
timezone: Europe/Budapest
- hostname - the name of the machine, will be used as key in DynamoDB
- root - the directory where the repositories are
- repositories - list of the repositories to handle, can handle multiple directory levels
- aws.dynamodb.table - the name of the DynamoDB table
- timezone - timezone of the timestamps, useful in case of remote machines in different timezones
Useage
You can start the process with the following command:
python -m gitargus
Either you can run manually or set up a cron job.
Logs
The log file is located at ~/.gitargus/gitargus.log.
User Interface
The server.py file can be used for a stop-gap method to check the contents of the DynamoDB table. First install uvicorn, then run it with uvicorn server:app. Then use the url http://127.0.0.1:8000/{hostname} to access the json response. This is a temporary solution and will be removed before realese.
A MacOS/iPadOS/iOS application is in the very early stages of development.
Release files for gitargus 1.0.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitargus-1.0.0b1.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitargus-1.0.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.7 kB
Release files / gitargus-1.0.0b1.tar.gz
| Download URL | gitargus-1.0.0b1.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90dd1f5d5ec4c0c0a88201b4fb44d8183ebf0d6d18c514fd230f3d8da2a68466
|
|
BLAKE2b-256 checksum How to use checksums |
52df3c9016cd3b7cbfb8f434cf456b05330fe0a64d8dc15e3f00c6d174a577f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / gitargus-1.0.0b1-py3-none-any.whl
| Download URL | gitargus-1.0.0b1-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5826fcdb7f06f817e97893a3aaf6f0ff4d3dbce4751d83f4a934bc82e1418d0
|
|
BLAKE2b-256 checksum How to use checksums |
2e432ebc47944e90b423d4fbb8b8812716d45c8b102753ca5257d8c1c66645c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|