Tool for patching third-party dependencies without need to fork them
Find a file
2024-08-21 11:33:39 +04:00
git-third-party remove numbers from patches themselves 2024-08-21 11:33:39 +04:00
LICENSE Initial commit 2024-08-20 10:18:19 +04:00
README.md Initial commit 2024-08-20 10:18:19 +04:00

Git third party

Small zero-dependency python utility that is an alternative to git-submodules and git-subtree, that allows patching third-party code, storing commits in your tree

No need to fork, no need to store all code in your tree, store just your patches

WARNING: it is a raw prototype

Usage

# adding third-party repository
git-third-party add third-party/RustPython https://github.com/RustPython/RustPython.git a13b99642b0bc13ca89d01768a7ddbec18fe8219
# ^ git-third-party add <relative path> <repository url> <commit hash>

# now you can modify it as a regular repository, commit your changes

# save patches to push to your origin
git-third-party save third-party/RustPython
# ^ git-third-party save <relative path>

# update
git-third-party update third-party/RustPython
# ^ git-third-party update <relative path>

How it works?

It stores (at /.gitthirdparty) a configutation that describes all third party repositories and patches (at /.gitthirdparty-patches/<local/repo/path>). save command updates the patches, update command reapplies them

Todo

  • commit hooks
  • updating all
  • automated tests