BunkerSync simplifies Git repository syncing.
Project description
BunkerSync
*-+-+-+-+-+-+-+-+-+-+-+* +++++++++++++++++
| .--. | + +
| / {} \ | + External +
|_______/ /\ \_______|----------------+ + REPOSITORY +
|#######| | | |#######| + +
|#######`-'++'-´#######| +++++++++++++++++
*-+-+-+BunkerSync+-+-+-*
|
|
|
|
+
+++++++++++++++++
+ +
+ Internal +
+ REPOSITORY +
+ +
+++++++++++++++++
BunkerSync is a Python script that simplifies the process of syncing Git repositories. With BunkerSync, you can easily sync an internal repository with an external one and sync new branches from the external repository to the internal repository with support for filtering. BunkerSync is customizable and easy to use, making it an ideal tool for developers who need to keep their repositories in sync.
Use cases [TO-UPDATE]
- Publish an internal branch into external repository with option to filter.
- Fetch external branches whose names startes with given prefix into our internal repository
- Fetch a specific external branch into our internal repository
Prerequisites
- Python >= 3.11
- installed git
Getting Started
- Use Case 1:
BunkerSync -p -i=<internal_repo_url> -e=<external_repo_url> -b=<internal_branch_to_publish> -fm=<path_of_filter_map>
- Use Case 2:
BunkerSync -f -i=<internal_repo_url> -e=<external_repo_url> -@= -bb=<internal_base_of_fetched_branch>
- Use Case 3:
BunkerSync -f -i=<internal_repo_url> -e=<external_repo_url> -eb=<external_branch_to_fetch> -ib=<internal_name_for_fetched_branch> -bb=<base_of_internal_fetched_branch>
- -bb is optional, default base would be 'master' branch.
- -fm is optional, otherwise no filtering would be executed.
- In case you are not sure if you understood the args, see CLI Args below.
Command-line Arguments
-p, --publish Option to publish a given branch from internal repository to external repository.
-f, --fetch Option to fetch all new branches with a given prefix from external repository to the internal repository.
-i, --internal Internal repository url.
-e, --external External repository url.
-b, --branch (Required when -p is on) Name of internal branch to be published to external repository.
-@, --prefix (Required when -f is on) Prefix of external branches to be pulled to internal repository.
-fm, --filter_map Path of the filtering map that includes files or folders names to be filtered.
-ib, --internal_branch (Required when -f is on)The name of the branch in the internal repository.
-eb, --external_branch (Required when -f is on) The name of the branch in the external repository.
-bb, --branch_base The base branch name to be the base of the new fetched branch.
Notes [TO-UPDATE]
- Be aware that the tool may ask for authentication credentials with git, the authentication is processed directly against git.
- The merge is processed in overwrite manner.
Contributing
If you have any issues or suggestions for BunkerSync, feel free to open an issue or submit a pull request on the GitHub repository.
License
BunkerSync is released under the Apache License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file BunkerSync-0.0.10.tar.gz.
File metadata
- Download URL: BunkerSync-0.0.10.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
524c9c2a094a86685d26697a573b0015d22c1251f2cc2602ad7450b5ff7ecdb5
|
|
| MD5 |
1aef24c0cf6c72cbc156fddba3bc459c
|
|
| BLAKE2b-256 |
5d9432939aa9762e0a18afb5b5cc8ce1fb3130042a82be2a8c1d1f0edf66512c
|
File details
Details for the file BunkerSync-0.0.10-py3-none-any.whl.
File metadata
- Download URL: BunkerSync-0.0.10-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
332b33b599a882914f4aadebf64af76740260586f8f95777a37d5fe051cc15bb
|
|
| MD5 |
87066fde4e6882d248952fb0c9b050e0
|
|
| BLAKE2b-256 |
72e160c178697ebed60b11988fdd3a0ae1b6a24bb1708f62415a28b9da2959d9
|