Skip to main content

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]

  1. Publish an internal branch into external repository with option to filter.
  2. Fetch external branches whose names startes with given prefix into our internal repository
  3. Fetch a specific external branch into our internal repository

Prerequisites

  1. Python >= 3.11
  2. installed git

Getting Started

  1. Use Case 1:

    BunkerSync -p -i=<internal_repo_url> -e=<external_repo_url> -b=<internal_branch_to_publish> -fm=<path_of_filter_map>

  2. Use Case 2:

    BunkerSync -f -i=<internal_repo_url> -e=<external_repo_url> -@= -bb=<internal_base_of_fetched_branch>

  3. 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]

  1. Be aware that the tool may ask for authentication credentials with git, the authentication is processed directly against git.
  2. 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.

Metadata

Release files for BunkerSync 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for BunkerSync 0.0.12
File Size Uploaded
BunkerSync-0.0.12.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BunkerSync 0.0.12
File Interpreter ABI Platform
BunkerSync-0.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / BunkerSync-0.0.12.tar.gz

Download URL BunkerSync-0.0.12.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a486eded397df11a21b3add735287227a7548c10436fb94d9bdc225e1e670b9e
BLAKE2b-256 checksum
How to use checksums
b20538c7e730795db37a21c7d2a4e4dfdf6c9e57b682cfce17a09b1679cc6684
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / BunkerSync-0.0.12-py3-none-any.whl

Download URL BunkerSync-0.0.12-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d7f5b486c4c477fb2e99b218cb64603259174d8d258b130423d81d975840f93
BLAKE2b-256 checksum
How to use checksums
efc1ddd16734047d9581361b59b2385823616c332754c08fd855b069d9a17df3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.0.12 This release

2 release files

0.0.11

2 release files

0.0.10

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page