Skip to main content

Tools and git hooks to make it easier to work with submodules are updated frequently, enable a sort of virtual mono repo.

Project description

smflow

Tools and git hooks to make it easier to work with submodules are updated frequently, enable a sort of virtual mono repo.

Usage

requires uv to be installed

Install with uv tool install smflow

Then from your parent project with submodules run:

smflow init

Details

smflow init will:

Git hooks

  • Automatically attach heads and reset submodules to the correct commit when you checkout a branch in the parent repository.
  • Automatically update .gitmodules when you change branches in the children.

Git submodule settings

smflow wil set the following git settings:

git config submodule.recurse true

To automatically checkout the submodules when you change branch in the parent.

git config push.recurseSubmodules on-demand

To automatically push changes in children when you try to push parent repository, and it references child commits that are not present on their origin yet (only works if parent and child have identical branch names). Otherwise, it will warn you and suggest first pushing the child repository.

Notes

  • smflow does not currently support recursive submodules, i.e. submodules inside submodules.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smflow-0.3.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smflow-0.3.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file smflow-0.3.0.tar.gz.

File metadata

  • Download URL: smflow-0.3.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for smflow-0.3.0.tar.gz
Algorithm Hash digest
SHA256 85112e28a9d513981973a9828af1916993ba5831ae60346ccb95826f76a03513
MD5 99940603da518bfff469ccde63e58420
BLAKE2b-256 5b0b216ddd1020776ab653c3b5c247e3797fc03991ba9a7d581396043cd1d7cf

See more details on using hashes here.

File details

Details for the file smflow-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: smflow-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for smflow-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de2a59119015079239244f2d8fac61d01e4ad3b4757d3cc3a4e4e72a5fd28969
MD5 2cc1ff154b0b1572539239a35d925c53
BLAKE2b-256 d2e602125bd811e32cd6c0e48a3e1ffd6e228ad23012f095db0f304008d21314

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page